How To Teach a 12-Year-Old To Program? 799
thelordx writes "I've got a much younger brother who I'd like to teach how to program. When I was younger, you'd often start off with something like BASIC or Apple BASIC, maybe move on to Pascal, and eventually get to C and Java. Is something like Pascal still a dominant teaching language? I'd love to get low-level with him, and I firmly believe that C is the best language to eventually learn, but I'm not sure how to get him there. Can anyone recommend a language I can start to teach him that is simple enough to learn quickly, but powerful enough to do interesting things and lead him down a path towards C/C++?"
Cold, hard X86 Assembly. (Score:5, Funny)
Perl (Score:5, Funny)
It has to be Perl, of course.
That way, he'll either write Haikus and become a rock star programmer, or write Haikus and go raving mad and prove the rest of Hilbert's unsolved problems.
Either way, you'll have Haikus, either as errors or from your brother. You can't go wrong with that!
Re:javascript (Score:5, Funny)
From some of the Javascript code and web pages I've seen, it seems to be perfectly suited for 12-year-olds. :P
6502 was good enough for Woz! (Score:3, Funny)
Paper tape reader sold separately... :-)
Re:Python (Score:2, Funny)
hassle? Doesn't python come with the operating system?
$ python --version
Python 2.6.2
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\brian>python --version
'python' is not recognized as an internal or external command, operable program or batch file.
guess not
Re:Programming (Score:5, Funny)
You didn't tell if he actually is interested in programming at all. Because if he isn't, he will never be.
Exactly! He may, for example, be more interested in girls. And if he knows how to talk to a girl, he probably won't amount to much of a programmer anyway.
Re:Programming (Score:4, Funny)
BASIC. BASIC. BASIC. That's how I started, aged 10.
I typed pages and pages and pages of code I didn't understand. And when my "A" shaped man wouldn't climb up the italic "I" ladder, I got really pissed off. Radio controlled cars were much more fun.
15 years after that, when my first child was born, I had a ton of staying-in time and I started to learn Java. But that was boring and didn't do anything I wanted it to do.
HTML and Javascript was next. I got <breally</b> good at that.
So get him a decent radio controlled car, tell him to wait 15 years, get married, have a child of his own, then write silly Greasemonkey scripts all night. There's so much fun to be had from auto-submitting forms.
If you want any more advice...
Re:Programming (Score:4, Funny)
HTML and Javascript was next. I got <breally</b> good at that.
+1 for unintentional irony.
Re:Python (Score:2, Funny)
tl;dr: Python is a great language to learn by, but so featureful that your kid may never give it up.
You make it sound as if not giving up Python is a negative thing. Perhaps I can understand it if I change context:
- My little brother wants to enter the world of relationships. Whom do you suggest he should get involved first with?
- Natalie Portman.
- Well, Natalie is a trap; he can get hooked on her and never want to move on to someone else.
Nope. Still does not compute.
Re:I wouldn't recommend BASIC (Score:3, Funny)
It kicked my ass.
At that point being a programmer was what I 'wanted' to do. I had already spent years on my own, and really enjoyed programming, but I had developed so many bad habits, such an incompatibly warped way of thinking vs. programming for real applications, I couldn't hack it. I was, not for lack of trying, a miserable programmer who could never become a professional. I gave up, threw it all away, and have spent my professional life over the last decade in support, and I likely will never dev again.
Re:Programming (Score:3, Funny)
Has nothing to do with the lack of a man page. It's because females' decision-making control structures are all non-deterministic.