Comment Re:plain C, python, or ruby (Score 1) 799
So teach him assembler as a first language, and EVERYTHING else will look simple in comparison!
I think for many of us who grew up on home computers, Assembler was our first language; and we used it to write games and demos on C64 and Amiga's. Things don't get any simpler than assembly language (few concepts and a very finite set of instructions) and it's great for getting a gradual but very deep understanding for what a computer is and how it works. We did it in 68K and it was the ideal set-up for growing into higher-level languages (as it showed you what a higher level language is trying to help you with.) The problem with learning a higher level language first is you'll be too easily intimidated by lower-level concepts (pointers, call-stacks, hardware interfaces or just the way things are laid out in memory) and avoid those things for the rest of your career - I'm sure we've all seen the type of 'professional' programmer I'm talking about.
Having said that, the amount of shit ("work") you need to wade through to get anything done these days in assembler means it's no longer an option; definitely not for a "from-scratch" type of program, and definitely not for getting quick experimental results; so it's today pointless for teaching a kid how to code as he'll get bored before anything exciting happens (unlike the Amiga days when the code to get some copper bars going would fit on your screen.)