[buug] I've been getting 2 of Everything, why?

Mark Handley 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
>fundamentals later.

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.

Cheers,
	Mark



More information about the buug mailing list