[buug] I've been getting 2 of Everything, why?
mjh at icir.org
Tue Aug 13 12:45:57 PDT 2002
>I'm wondering if age should factor into the decision as well. Is C really
>appropriate as an introduction to programming for a 14-year old? My
>younger brother is that age and I can't imagine him having the attention
>span to learn C. Wouldn't something like Python allow someone that age
>get something of substance up and running more quickly? If he decides
>that he actually likes programming, he can always go back and learn the
Yes, Python is perhaps a good combination of usefulness and assistance
with your coding for someone starting out. I don't think anyone should
*start* with C, whatever their age. Don't get me wrong - I've
programmed plenty of C, and it certainly has it's uses, but it's a
really bad place to start.
I started out programming in Basic, then Forth, Z80 machine code,
PDP-11 machine code, Pascal, Occam, and C++. By the time I learned
C++ I'd got so many bad habits, I couldn't see the point of Object
Orientation, and rapidly degraded back to C.
Then I learned Scheme and Prolog, and it was only then I started to
learn to think about the problem, not about the implementation, but it
took a while for this to really sink in.
When I learned Miranda (another functional language), it was like a
revelation. One day I decided to write a natural language parser for
the hell of it. Suddenly I was really thinking about the problem. Of
course I never finished my natural language parser - I eventually
realised I didn't understand enough about natural language, but for
perhaps the first time the programming language hadn't got in the way.
I spent the next ten years programming in C, Postscript (yes, it is a
language), Perl (before it was OO), and Tcl, amongst assorted others.
None of them are really good languages, but the lessons learned from
non-procedural languages about structuring a problem are always
applicable in any language.
Finally I've spent the last few years mostly programming in C++. I
still battle the syntax occasionally (who doesn't), but I've
definitely become an OO fan. Only 15 years since I first learned the
language. I guess it took that long to lose all the bad lessons I'd
learned when I started out 20 years ago.
More information about the buug