Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #62771 > unrolled thread
| Started by | luser droog <luser.droog@gmail.com> |
|---|---|
| First post | 2015-05-28 22:42 -0700 |
| Last post | 2015-06-02 22:12 -0700 |
| Articles | 20 on this page of 31 — 15 participants |
Back to article view | Back to comp.lang.c
pedagogy luser droog <luser.droog@gmail.com> - 2015-05-28 22:42 -0700
Re: pedagogy Morris Dovey <mrdovey@iedu.com> - 2015-05-29 00:57 -0500
Re: pedagogy Bartc <bc@freeuk.com> - 2015-05-29 11:10 +0100
Re: pedagogy raltbos@xs4all.nl (Richard Bos) - 2015-05-29 12:42 +0000
Re: pedagogy David Kleinecke <dkleinecke@gmail.com> - 2015-05-29 10:02 -0700
Re: pedagogy raltbos@xs4all.nl (Richard Bos) - 2015-05-29 18:23 +0000
Re: pedagogy Noob <root@127.0.0.1> - 2015-05-29 13:34 +0200
Re: pedagogy John Bode <jfbode1029@gmail.com> - 2015-05-29 08:17 -0700
Re: pedagogy rick.c.hodgin@gmail.com - 2015-05-29 08:33 -0700
Re: pedagogy Etienne Prud'homme <e.e.f.prudhomme@gmail.com> - 2015-05-29 12:25 -0400
Re: pedagogy John Bode <jfbode1029@gmail.com> - 2015-05-29 14:28 -0700
Re: pedagogy Etienne Prud'homme <e.e.f.prudhomme@gmail.com> - 2015-05-30 00:58 -0400
Re: pedagogy gazelle@shell.xmission.com (Kenny McCormack) - 2015-05-29 15:46 +0000
Re: pedagogy Les Cargill <lcargill99@comcast.com> - 2015-05-29 22:16 -0500
Re: pedagogy luser droog <luser.droog@gmail.com> - 2015-05-30 00:16 -0700
Re: pedagogy Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-05-30 11:31 +0000
Re: pedagogy David Kleinecke <dkleinecke@gmail.com> - 2015-05-30 07:10 -0700
Re: pedagogy Bartc <bc@freeuk.com> - 2015-05-30 15:38 +0100
Re: pedagogy "Osmium" <r124c4u102@comcast.net> - 2015-05-31 09:43 -0500
Re: pedagogy Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-05-31 16:03 +0100
Re: pedagogy "Osmium" <r124c4u102@comcast.net> - 2015-05-31 10:34 -0500
Re: pedagogy Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-05-31 16:56 +0100
Re: pedagogy luser droog <luser.droog@gmail.com> - 2015-06-02 10:28 -0700
Re: pedagogy Bartc <bc@freeuk.com> - 2015-05-31 17:04 +0100
Re: pedagogy Les Cargill <lcargill99@comcast.com> - 2015-05-31 12:10 -0500
Re: pedagogy raltbos@xs4all.nl (Richard Bos) - 2015-06-05 15:21 +0000
Re: pedagogy David Kleinecke <dkleinecke@gmail.com> - 2015-05-31 09:01 -0700
Re: pedagogy luser droog <luser.droog@gmail.com> - 2015-06-02 21:51 -0700
Re: pedagogy David Kleinecke <dkleinecke@gmail.com> - 2015-06-03 09:14 -0700
Re: pedagogy "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-06-04 00:48 -0700
Re: pedagogy luser droog <luser.droog@gmail.com> - 2015-06-02 22:12 -0700
Page 1 of 2 [1] 2 Next page →
| From | luser droog <luser.droog@gmail.com> |
|---|---|
| Date | 2015-05-28 22:42 -0700 |
| Subject | pedagogy |
| Message-ID | <46c17ca6-fa30-4935-a50b-d4f5d78b6a4a@googlegroups.com> |
A friend of mine asked for advice about how to get into programming. So I just ordered K&R2 and K&P (The Unix Programming Environment). Is there anything else more recent that I should get to supplement these for the 21st century? Or is enough to get a good start, jathink?
[toc] | [next] | [standalone]
| From | Morris Dovey <mrdovey@iedu.com> |
|---|---|
| Date | 2015-05-29 00:57 -0500 |
| Message-ID | <mk8v48$rs9$1@speranza.aioe.org> |
| In reply to | #62771 |
On 5/29/15 12:42 AM, luser droog wrote: > A friend of mine asked for advice about how to get into programming. > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > Is there anything else more recent that I should get to supplement > these for the 21st century? Or is enough to get a good start, jathink? There are a lot of other possibilities, but this probably is enough to get a good start. If they decide to continue after these, one of my suggestions would probably be APUE. -- Morris Dovey http://www.iedu.com/Solar
[toc] | [prev] | [next] | [standalone]
| From | Bartc <bc@freeuk.com> |
|---|---|
| Date | 2015-05-29 11:10 +0100 |
| Message-ID | <mk9drp$v15$1@dont-email.me> |
| In reply to | #62771 |
On 29/05/2015 06:42, luser droog wrote: > A friend of mine asked for advice about how to get into programming. > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > Is there anything else more recent that I should get to supplement > these for the 21st century? Or is enough to get a good start, jathink? Those were dated even for the 20th century! Did you ask you friend what kind of programming they would like to get into and in what sort of environment? (If it was me, and I knew nothing about the technical side of computers, the prospect of learning about C and Unix wouldn't exactly thrill me.) -- Bartc
[toc] | [prev] | [next] | [standalone]
| From | raltbos@xs4all.nl (Richard Bos) |
|---|---|
| Date | 2015-05-29 12:42 +0000 |
| Message-ID | <55685e52.15596484@news.xs4all.nl> |
| In reply to | #62781 |
Bartc <bc@freeuk.com> wrote: > On 29/05/2015 06:42, luser droog wrote: > > A friend of mine asked for advice about how to get into programming. > > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > > > Is there anything else more recent that I should get to supplement > > these for the 21st century? Or is enough to get a good start, jathink? > > Those were dated even for the 20th century! Erm... what programming language do you know that goes back to the 19th century? > (If it was me, and I knew nothing about the technical side of computers, > the prospect of learning about C and Unix wouldn't exactly thrill me.) Me neither. C is for professionals, not for students. Try Inform. If he wants to play with programming, Inform 7; if he actually wants to _be_ a programmer, Inform 6. Richard
[toc] | [prev] | [next] | [standalone]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-05-29 10:02 -0700 |
| Message-ID | <a6bef42f-a1fe-4dcf-917e-5eb212abe8ce@googlegroups.com> |
| In reply to | #62786 |
On Friday, May 29, 2015 at 5:42:41 AM UTC-7, Richard Bos wrote: > Bartc <bc@freeuk.com> wrote: > > > On 29/05/2015 06:42, luser droog wrote: > > > A friend of mine asked for advice about how to get into programming. > > > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > > > > > Is there anything else more recent that I should get to supplement > > > these for the 21st century? Or is enough to get a good start, jathink? > > > > Those were dated even for the 20th century! > > Erm... what programming language do you know that goes back to the 19th > century? > > > (If it was me, and I knew nothing about the technical side of computers, > > the prospect of learning about C and Unix wouldn't exactly thrill me.) > > Me neither. C is for professionals, not for students. > > Try Inform. If he wants to play with programming, Inform 7; if he > actually wants to _be_ a programmer, Inform 6. > > Richard I'd never thought of that. It's a great idea. I admire both languages and I think Inform 6 would be an excellent way to actually learn programming. This is very odd because I have played with Inform 6 (not so much 7) for years. I just didn't connect them with teaching. Now I know the answer to that question which does turn up every year or so.
[toc] | [prev] | [next] | [standalone]
| From | raltbos@xs4all.nl (Richard Bos) |
|---|---|
| Date | 2015-05-29 18:23 +0000 |
| Message-ID | <5568ae74.36110359@news.xs4all.nl> |
| In reply to | #62796 |
David Kleinecke <dkleinecke@gmail.com> wrote: > On Friday, May 29, 2015 at 5:42:41 AM UTC-7, Richard Bos wrote: > > Try Inform. If he wants to play with programming, Inform 7; if he > > actually wants to _be_ a programmer, Inform 6. > > I'd never thought of that. It's a great idea. > > I admire both languages and I think Inform 6 would be an excellent way > to actually learn programming. > > This is very odd because I have played with Inform 6 (not so much 7) > for years. I just didn't connect them with teaching. _The_ great advantage Inform 6 has over many other languages, including Inform 7, is the DM4. IMO, it's invaluable. Richard
[toc] | [prev] | [next] | [standalone]
| From | Noob <root@127.0.0.1> |
|---|---|
| Date | 2015-05-29 13:34 +0200 |
| Message-ID | <mk9ipq$g1k$1@dont-email.me> |
| In reply to | #62771 |
On 29/05/2015 07:42, luser droog wrote: > A friend of mine asked for advice about how to get into programming. > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > Is there anything else more recent that I should get to supplement > these for the 21st century? Or is enough to get a good start, jathink? This one has an emphasis on defensive programming. http://c.learncodethehardway.org/book/ Regards.
[toc] | [prev] | [next] | [standalone]
| From | John Bode <jfbode1029@gmail.com> |
|---|---|
| Date | 2015-05-29 08:17 -0700 |
| Message-ID | <bbc4e214-d69c-4222-87a9-723770e4a1bb@googlegroups.com> |
| In reply to | #62771 |
On Friday, May 29, 2015 at 12:42:14 AM UTC-5, luser droog wrote: > A friend of mine asked for advice about how to get into programming. > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > Is there anything else more recent that I should get to supplement > these for the 21st century? Or is enough to get a good start, jathink? Ugh. C is an awful language for learning how to program, and vanilla C doesn't play a huge role in a Web- and mobile-centric ecosystem. Objective-C for iOS, sure, but not plain C. For *learning how to program* (at least for imperative programming languages), I'd start with something like Python.
[toc] | [prev] | [next] | [standalone]
| From | rick.c.hodgin@gmail.com |
|---|---|
| Date | 2015-05-29 08:33 -0700 |
| Message-ID | <0ded83a6-48a4-4eb3-a6b6-b0ec6dff0b1d@googlegroups.com> |
| In reply to | #62791 |
On Friday, May 29, 2015 at 11:17:52 AM UTC-4, John Bode wrote: > Ugh. C is an awful language for learning how to program... I disagree. It relates concepts of input, output, and step-by-step operations exceedingly well. It breaks things into quantities (int, unsigned int, char, char[], char*, float, double, local variables, parameters, global variables, etc.), all of which implicitly convey aspects of how computers work internally. A person learning C learns much more than the C language (they just don't always realize that's the case at first). I would say C is one of the best languages to learn on. For basic C abilities, it is very easy to lay down a foundation. And natural questions will arise in a new developer's mind, which are easily built atop their ongrowing(sic) knowledge base. Best regards, Rick C. Hodgin
[toc] | [prev] | [next] | [standalone]
| From | Etienne Prud'homme <e.e.f.prudhomme@gmail.com> |
|---|---|
| Date | 2015-05-29 12:25 -0400 |
| Message-ID | <20150529122505.0fa3a318715088f9a4670b36@gmail.com> |
| In reply to | #62792 |
John Bode <jfbode1029@gmail.com> wrote: >For *learning how to program* (at least for imperative programming >languages), I'd start with something like Python. I completely agree with Rick. C is the lingua franca standard in computer programming. When you understand C, you can understand easily other languages. It really goes to the core of computing. You can see what really are data structures. How to manipulate them. Advantage of a vector (yes in plain C) over a linked-list. It's pretty simple & doesn't try to make things too complicated for nothing. I had much more trouble understanding abstract programming & OOP than procedural. Not that it's not easy to program in that language. It was pretty easy, but you just don't really know what is going on. My first language that I learned was php. I was realy confused with how you could do things really differently & at the end really didn't seem like the same algorithm. Python may be good to do simple calculations (like calculator), but I don't see advantages of using it over C. C is portable, it doesn't need a slow interpreter (or byte-code). It follows a linear thinking. OOP is more about creativity than problem solving. If you don't understand how a computer works, you would just think it's a magical device. That's what I thought before learning C. C learning curve may be more hard at first, but I think it's worth it. Think of Git; I could use dropbox for my projects; it would sync all my files; I just wouldn't know what is relevant in the revisions. Keep it Simple, Stupid. -- Etienne
[toc] | [prev] | [next] | [standalone]
| From | John Bode <jfbode1029@gmail.com> |
|---|---|
| Date | 2015-05-29 14:28 -0700 |
| Message-ID | <74afe4ae-dcbc-4c29-9e9f-2f7bd3506d85@googlegroups.com> |
| In reply to | #62795 |
On Friday, May 29, 2015 at 11:25:14 AM UTC-5, Etienne Prud'homme wrote:
> John Bode <jfbode1029@gmail.com> wrote:
> >For *learning how to program* (at least for imperative programming
> >languages), I'd start with something like Python.
>
> I completely agree with Rick. C is the lingua franca standard in
> computer programming.
Don't confuse popularity with technical merit. vi's ubiquitous, but
I don't see anyone claiming that it's the Platonic ideal of a text editor.
> When you understand C, you can understand easily other languages.
You can easily understand other *C-like languages*. It may help you
easily understand non-C imperative languages. But what about the following:
insert :: Ord a => a -> Tree a -> Tree a
insert x Empty = Node Empty x Empty
insert x (Node l y r) | x < y = Node (insert x l) y r
| x > y = Node l y (insert x r)
| otherwise = Node l x r
or how about
(defun reverse (l)
(cond ((null? l) nil)
((listp (car l)) (append (reverse (cdr l))
(list (reverse (car l)))))
(t
(append (reverse (cdr l))
(list (car l))))))
How does your C knowledge apply to those snippets?
Believe it or don't, languages like Haskell and Lisp can be used to solve
real-world problems, often in code that's smaller and easier to read than
C. Speed and memory are the tradeoffs, but sometimes that's a reasonable
trade.
C's the right language for a lot of domains, particularly systems
programming. It just sucks as a teaching language.
>
> It really goes to the core of computing. You can see what really
> are data structures. How to manipulate them. Advantage of a vector
> (yes in plain C) over a linked-list.
>
Did that in Fortran.
> It's pretty simple & doesn't try to make things too complicated for
> nothing. I had much more trouble understanding abstract programming &
> OOP than procedural.
So did most of us. There are better languages than C for learning
procedural programming.
> Not that it's not easy to program in that
> language. It was pretty easy, but you just don't really know what is
> going on. My first language that I learned was php. I was realy
> confused with how you could do things really differently & at the end
> really didn't seem like the same algorithm.
PHP has been described as an example of "fractally bad" design; its
mistakes have mistakes. I'm sure C looks like an island of sanity after
working in PHP. *Perl* would look like an island of sanity after working
in PHP.
[toc] | [prev] | [next] | [standalone]
| From | Etienne Prud'homme <e.e.f.prudhomme@gmail.com> |
|---|---|
| Date | 2015-05-30 00:58 -0400 |
| Message-ID | <20150530005835.518180f7acee93224c628db6@gmail.com> |
| In reply to | #62811 |
John Bode <jfbode1029@gmail.com> wrote: > You can easily understand other *C-like languages*. It may help you > easily understand non-C imperative languages. Well, I agree also. I meant that low-level languages are pretty much the same in the end. Haskell & lisp are not really close to machine instruction (well it could, but that's not common). Programming is really a way of thinking, as algebra & number theory are also. Adding abstraction layers just doesn't make someone think like a computer. It removes power from the user. > It just sucks as a teaching language. It depends on the teacher. I don't know how it could be harder to teach than Python or Scheme/Lisp.
[toc] | [prev] | [next] | [standalone]
| From | gazelle@shell.xmission.com (Kenny McCormack) |
|---|---|
| Date | 2015-05-29 15:46 +0000 |
| Message-ID | <mka1lh$59d$1@news.xmission.com> |
| In reply to | #62791 |
In article <bbc4e214-d69c-4222-87a9-723770e4a1bb@googlegroups.com>,
John Bode <jfbode1029@gmail.com> wrote:
>On Friday, May 29, 2015 at 12:42:14 AM UTC-5, luser droog wrote:
>> A friend of mine asked for advice about how to get into programming.
>> So I just ordered K&R2 and K&P (The Unix Programming Environment).
>>
>> Is there anything else more recent that I should get to supplement
>> these for the 21st century? Or is enough to get a good start, jathink?
>
>Ugh. C is an awful language for learning how to program, and vanilla C
>doesn't play a huge role in a Web- and mobile-centric ecosystem.
>Objective-C for iOS, sure, but not plain C.
>
>For *learning how to program* (at least for imperative programming
>languages), I'd start with something like Python.
Discussing which programming langauge to learn first is a lot like trying
to discuss which spoken language you should learn first. All other things
being equal, the answer to this question ("Which spoken language should I
learn?") is "English", because English is the langauge of the world.
However, someone growing up in, say, France, may have an objection to raise
to this recommendation. Similarly, in programming, the language you choose
to learn should be the one in which you can accomplish what you set out to
accomplish.
Further, you have to love the irony of our discussing which language to
learn in this newgroup - this newsgroup of all newsgroups - in which we are
not allowed to discuss useful C. We are only allowed to discuss the
bastardized, emaciated version of C that leader Kiki approves.
Personally, I think useful C is a very good first language, say, in a
Unix/Linux environment. That's where I learned to program.
--
"Unattended children will be given an espresso and a free kitten."
[toc] | [prev] | [next] | [standalone]
| From | Les Cargill <lcargill99@comcast.com> |
|---|---|
| Date | 2015-05-29 22:16 -0500 |
| Message-ID | <mkb9kh$icq$1@dont-email.me> |
| In reply to | #62771 |
luser droog wrote: > A friend of mine asked for advice about how to get into programming. > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > Is there anything else more recent that I should get to supplement > these for the 21st century? Or is enough to get a good start, jathink? > What sorta programmer does (s)he want to be? 'C' kinda has this reputation as the Clint Eastwood of languages, but it's not for everybody. There's a school of thought that says Lisp is the ultimate. Tcl is kind of this illegitimate offspring of Lisp and 'C. Python is popular, OO and safe ( is OO still a thing? ). -- Les Cargill
[toc] | [prev] | [next] | [standalone]
| From | luser droog <luser.droog@gmail.com> |
|---|---|
| Date | 2015-05-30 00:16 -0700 |
| Message-ID | <2d2e0507-bc67-4e6a-8ac4-669a1d19ac61@googlegroups.com> |
| In reply to | #62771 |
On Friday, May 29, 2015 at 12:42:14 AM UTC-5, luser droog wrote: > A friend of mine asked for advice about how to get into programming. > So I just ordered K&R2 and K&P (The Unix Programming Environment). > > Is there anything else more recent that I should get to supplement > these for the 21st century? Or is enough to get a good start, jathink? Thanks everyone for your valuable thoughts and insights. My main reasons for encouraging C to my friend are roughly those outlined by Rick and Etienne. It's a natural abstraction of a Von Neumann architecture which -- issues of caching and pipelining aside -- closely reflects "what the computer is *doing*". For my friend in particular, who has a background in seminary and church work, I feel comfortable calling K&R a programming 'bible' in the sense that nothing in it will ever need to be un-learned, merely re-interpreted or differently applied. It also fits well IMO with the usual user's view of files and programs in that, after compiling, you have a "real executable". A "real program" <<pleading hand gesture>>. I hope my exaggerated use of quotation marks stresses that this is a vague ideal, but one that I strongly imagine to be a useful conceptual support for a noob. *This* is your source file, containing bytes of ascii text which you edit with a text editor. *This* is the command to invoke the compiler upon your file. *This* is an executable machine- language program that you can *run*. I don't really want to back-up or elaborate what I consider real or unreal among the myriad language/environment possibilities. But for someone who can use Word and Excel, shell scripting (the other book) and C programming open up a new universe inside the machine.
[toc] | [prev] | [next] | [standalone]
| From | Jorgen Grahn <grahn+nntp@snipabacken.se> |
|---|---|
| Date | 2015-05-30 11:31 +0000 |
| Message-ID | <slrnmmj7t8.2ot.grahn+nntp@frailea.sa.invalid> |
| In reply to | #62831 |
On Sat, 2015-05-30, luser droog wrote: > On Friday, May 29, 2015 at 12:42:14 AM UTC-5, luser droog wrote: >> A friend of mine asked for advice about how to get into programming. >> So I just ordered K&R2 and K&P (The Unix Programming Environment). >> >> Is there anything else more recent that I should get to supplement >> these for the 21st century? Or is enough to get a good start, jathink? It's funny, but I don't know anything about recent books on C. I know C89 fairly well, and picked up some C99 here and there over the years. New C programmers I work with don't seem to read books either: they pick it up here and there, by asking, by trial & error. > Thanks everyone for your valuable thoughts and insights. My main > reasons for encouraging C to my friend are roughly those outlined > by Rick and Etienne. It's a natural abstraction of a Von Neumann > architecture which -- issues of caching and pipelining aside -- > closely reflects "what the computer is *doing*". > > For my friend in particular, who has a background in seminary > and church work, I feel comfortable calling K&R a programming > 'bible' in the sense that nothing in it will ever need to be > un-learned, merely re-interpreted or differently applied. > > It also fits well IMO with the usual user's view of files and > programs in that, after compiling, you have a "real executable". > A "real program" <<pleading hand gesture>>. > > I hope my exaggerated use of quotation marks stresses that > this is a vague ideal, but one that I strongly imagine to > be a useful conceptual support for a noob. *This* is your > source file, containing bytes of ascii text which you edit > with a text editor. *This* is the command to invoke the > compiler upon your file. *This* is an executable machine- > language program that you can *run*. There's a lot about what /you/ think, but not a lot of information about your friend and his/her ideas and goals ... I really like the combination C and Unix; I really like fairly thin books by Bell Labs people; I really like doing things myself from the ground up ... ... but I'm not sure I'd do programming today if someone had given me K&R, say, when I was fifteen. I would have read it, but then gotten stuck doing any useful programming. > I don't really want to back-up or elaborate what I consider > real or unreal among the myriad language/environment > possibilities. But for someone who can use Word and Excel, > shell scripting (the other book) and C programming open up > a new universe inside the machine. Oh, good. For someone who has Unix, shell scripting is definitely a way into useful programming ... if the other book covers that well. But I would have chosed an O'Reilly book on the Bash shell for that; IMNSHO the original /bin/sh sucks as a programming language. /Jorgen -- // Jorgen Grahn <grahn@ Oo o. . . \X/ snipabacken.se> O o .
[toc] | [prev] | [next] | [standalone]
| From | David Kleinecke <dkleinecke@gmail.com> |
|---|---|
| Date | 2015-05-30 07:10 -0700 |
| Message-ID | <f1506bdf-e9d9-4132-93ee-07d1b22bf2d2@googlegroups.com> |
| In reply to | #62838 |
On Saturday, May 30, 2015 at 4:32:08 AM UTC-7, Jorgen Grahn wrote: > On Sat, 2015-05-30, luser droog wrote: > > On Friday, May 29, 2015 at 12:42:14 AM UTC-5, luser droog wrote: > >> A friend of mine asked for advice about how to get into programming. > >> So I just ordered K&R2 and K&P (The Unix Programming Environment). > >> > >> Is there anything else more recent that I should get to supplement > >> these for the 21st century? Or is enough to get a good start, jathink? > > It's funny, but I don't know anything about recent books on C. I know > C89 fairly well, and picked up some C99 here and there over the years. > New C programmers I work with don't seem to read books either: they > pick it up here and there, by asking, by trial & error. > > > Thanks everyone for your valuable thoughts and insights. My main > > reasons for encouraging C to my friend are roughly those outlined > > by Rick and Etienne. It's a natural abstraction of a Von Neumann > > architecture which -- issues of caching and pipelining aside -- > > closely reflects "what the computer is *doing*". > > > > For my friend in particular, who has a background in seminary > > and church work, I feel comfortable calling K&R a programming > > 'bible' in the sense that nothing in it will ever need to be > > un-learned, merely re-interpreted or differently applied. > > > > It also fits well IMO with the usual user's view of files and > > programs in that, after compiling, you have a "real executable". > > A "real program" <<pleading hand gesture>>. > > > > I hope my exaggerated use of quotation marks stresses that > > this is a vague ideal, but one that I strongly imagine to > > be a useful conceptual support for a noob. *This* is your > > source file, containing bytes of ascii text which you edit > > with a text editor. *This* is the command to invoke the > > compiler upon your file. *This* is an executable machine- > > language program that you can *run*. > > There's a lot about what /you/ think, but not a lot of information > about your friend and his/her ideas and goals ... > > I really like the combination C and Unix; I really like fairly thin > books by Bell Labs people; I really like doing things myself from the > ground up ... > > ... but I'm not sure I'd do programming today if someone had given me > K&R, say, when I was fifteen. I would have read it, but then gotten > stuck doing any useful programming. > > > I don't really want to back-up or elaborate what I consider > > real or unreal among the myriad language/environment > > possibilities. But for someone who can use Word and Excel, > > shell scripting (the other book) and C programming open up > > a new universe inside the machine. > > Oh, good. For someone who has Unix, shell scripting is definitely a > way into useful programming ... if the other book covers that well. > > But I would have chosed an O'Reilly book on the Bash shell for that; > IMNSHO the original /bin/sh sucks as a programming language. I hate to do this in a group devoted to C but I want to repeat the recommendation by RB to use Inform 6/7. What tool you use to teach programming (or anything else) depends on the pupil. My experience with people who never quite learn programming is that most of them lose their motivation because what they are exposed to is boring. Inform provides massive feedback. If you get good at Inform you still don't know C (or Lisp or ...) but you have learned the habits that lie behind such languages. It has been known since way back that familiarity with any programming language makes all the others easier.
[toc] | [prev] | [next] | [standalone]
| From | Bartc <bc@freeuk.com> |
|---|---|
| Date | 2015-05-30 15:38 +0100 |
| Message-ID | <mkchvn$d1u$1@dont-email.me> |
| In reply to | #62840 |
On 30/05/2015 15:10, David Kleinecke wrote: > I hate to do this in a group devoted to C but I want to repeat the > recommendation by RB to use Inform 6/7. I'd never heard of these languages, but they appear to be long-winded scripting languages for writing interactive games. They can just about be used to represent algorithms (they seem to contain forms of functions, variables, loops and conditionals), but the algorithm would be lost in the text! What would you use to express an algorithm to someone else in a language-neutral manner? It would be some sort of pseudo-code. While C introduces all sorts of extra punctuation, restrictions and implementation details to worry about (plus the ecosystem needed to execute the source), some of these languages add cruft of their own. (No, I don't have alternative suggestions, except that a language that can used to code almost directly from an algorithm is worth looking at. Maybe someone should just implement pseudo-code.) -- Bartc
[toc] | [prev] | [next] | [standalone]
| From | "Osmium" <r124c4u102@comcast.net> |
|---|---|
| Date | 2015-05-31 09:43 -0500 |
| Message-ID | <ct0l09Fg841U1@mid.individual.net> |
| In reply to | #62844 |
"Bartc" wrote: > On 30/05/2015 15:10, David Kleinecke wrote: > >> I hate to do this in a group devoted to C but I want to repeat the >> recommendation by RB to use Inform 6/7. > > I'd never heard of these languages, but they appear to be long-winded > scripting languages for writing interactive games. > > They can just about be used to represent algorithms (they seem to contain > forms of functions, variables, loops and conditionals), but the algorithm > would be lost in the text! > > What would you use to express an algorithm to someone else in a > language-neutral manner? It would be some sort of pseudo-code. > > While C introduces all sorts of extra punctuation, restrictions and > implementation details to worry about (plus the ecosystem needed to > execute the source), some of these languages add cruft of their own. > > (No, I don't have alternative suggestions, except that a language that can > used to code almost directly from an algorithm is worth looking at. Maybe > someone should just implement pseudo-code.) The first question that must be answered is: "Is the student willing to learn a 'throw-away' language? That is, one that one learns simply get started, and then never uses again? If so, that language is Pascal. I sort of learned Lisp many, many years ago. Nothing. When I got my Atari ST, the big thing was Logo. I spent hours on it. Nothing. As far as I can tell Pascal is a pretty good cut at a working form of pseudocode. One huge advantage over C is that types and variables and initial values are different things and you damn well know it while it is going on. Pascal also makes very clear the difference between a small integer and a character. Pascal's wordiness may also make you appreciate C more when you learn the two languages in that order. If the student isn't willing to spend time on the two language approach K&R C seems like a pretty good practical choice.
[toc] | [prev] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2015-05-31 16:03 +0100 |
| Message-ID | <87r3pwhjr3.fsf@bsb.me.uk> |
| In reply to | #62865 |
"Osmium" <r124c4u102@comcast.net> writes: > "Bartc" wrote: <snip> >> (No, I don't have alternative suggestions, except that a language that can >> used to code almost directly from an algorithm is worth looking at. Maybe >> someone should just implement pseudo-code.) > > The first question that must be answered is: "Is the student willing to > learn a 'throw-away' language? That is, one that one learns simply get > started, and then never uses again? That's a good question. > If so, that language is Pascal. I sort > of learned Lisp many, many years ago. Nothing. When I got my Atari ST, the > big thing was Logo. I spent hours on it. Nothing. As far as I can tell > Pascal is a pretty good cut at a working form of pseudocode. One huge > advantage over C is that types and variables and initial values are > different things and you damn well know it while it is going on. Pascal also > makes very clear the difference between a small integer and a character. > Pascal's wordiness may also make you appreciate C more when you learn the > two languages in that order. But Pascal is an odd suggestion, at least for those reasons! Pascal is horrid to work in because it is so restrictive and, in my experience, students hate it. The big plus point (and it should not be ignored) is the vast number of good books available that use or are about Pascal. And because it a language from another century, many can be picked up for pennies. In fact, I'm about throw about a dozen of them away. <snip> -- Ben.
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | comp.lang.c
csiph-web