As a teenager, I tried various "real" coding languages - C++, Java, VB (ugh) - but I was never able to get engaged in them. All I wanted to do was build something cool quickly, and none of these languages allowed that without a significant time investment. Then, I tried out PHP. Within a few days, I was building random tools left and right, and having a great time doing it. So, to get him interested, I recommend you…
Second on the idea that it should be quick and easy to make useful stuff, but I have to disagree on PHP. Most of the example code out there is terrible, out of date or both. It's very easy to make a mess in PHP. Python seems to be the teaching language of choice these days, and it lets you do useful stuff without getting in the way. It's certainly not the only language to learn, but I'm inclined to say it should be t…
Ask HN: What programming language should I teach my little brother?
31–40 of 119 posts
Re: Ask HN: What programming language should I teach my little brother?
#32Call me old school, but I would start off with Basic. If he was younger I would recommend Logo. Once he's hooked I would get him into C or pascal. I can't recommend enough getting him a "Basic Stamp" kit. Seeing how software can control hardware is magical. Then work him up into "Arduino" world in C.
Re: Ask HN: What programming language should I teach my little brother?
#33Scratch ( http://scratch.mit.edu/ ) is a good way to learn the basics of putting programs together. It's done visually and it may feel like just a toy, but you can do some pretty cool things, it has a very shallow learning curve, and it can intuitively guide you to learning some important concepts which then have applicability to traditional programming.
Re: Ask HN: What programming language should I teach my little brother?
#34perl: practicality + fanatically helpful community, and it's in unix's dna javascript: nice skill, something you can make money in if you're good, immediate gratification on web pages haskell (or lisp): get some theory in there. i'd vote haskell because of the community
Re: Ask HN: What programming language should I teach my little brother?
#35python or ruby are good choices. They can be used to do UNIX scripting, and each one has some really cool modules to do graphic stuff. I'm learning ruby just now, so that i can do GUI programming with shoes, and im using _why's guide: http://poignantguide.net/ruby/index.html I don't know which one is better for a 13 year old, just pick the one you know better.
Seconding Ruby, just for _why's guide. I've never read anything that makes me so immediately enthusiastic about coding, and it still has that effect when I reread it. I wish I'd known about that as a kid.
My biggest recommendation, though, is that once the kid has any sort of "foundational" programming language under his belt, you write a Scheme interpreter together, in that language, and then show him that the interpreter you just wrote can run Scheme files that already exist (possibly ones you pre-prepared.) That's the best way, I've found, to burn into someone's head that there's no one-true-language, and to get their mind started experimenting with "what if the language was different in way X? Could I code that?" trains of thought.
Re: Ask HN: What programming language should I teach my little brother?
#36As a teenager, I tried various "real" coding languages - C++, Java, VB (ugh) - but I was never able to get engaged in them. All I wanted to do was build something cool quickly, and none of these languages allowed that without a significant time investment. Then, I tried out PHP. Within a few days, I was building random tools left and right, and having a great time doing it. So, to get him interested, I recommend you…
Re: Ask HN: What programming language should I teach my little brother?
#37Re: Ask HN: What programming language should I teach my little brother?
#38Re: Ask HN: What programming language should I teach my little brother?
#39Re: Ask HN: What programming language should I teach my little brother?
#40What kept me motivated was that interactive programs were just an INPUT A$ and a LINE(x,y,x1,y1) away. Today, I'd have to write dozens of lines of GUI code just to get a program with input and graphical output.
You may want to check out Processing at http://www.processing.org/ which offers a bit of that good old simplicity.