Ask: what is the best language/way to teach kids programming?

5 points by evo_9 ↗ HN
I've been thinking about teaching my kids (7 & 10 - both boys) how to program but I'm not sure where to start. Is there a 'kids' programming language and/or IDE that is ideal? Also, what language? I was thinking of HTML + JavaScript and maybe structuring it around writing a simple game.

Just looking for feedback, or any practicle experience other HN Dads have had.

6 comments

[ 5.3 ms ] story [ 21.8 ms ] thread
There are some languages designed expressly for kids and learning. http://scratch.mit.edu and http://alice.org come to mind. That said, Javascript wouldn't be a bad choice. It doesn't have a compile step to go through before you can see your results, and is great for sharing (put the code on any web server and your kid's friends can see their creations).

I've toyed with the idea of a Javascript-based language for learning -- some thoughts on that here: http://contraterrene.com/blog/?p=136

There's always Python. I hear a lot about how it's a good language for beginning programmers. It has a very clean syntax, and in my opinion, is very easy to read.
The best way to teach your kids programming is in accord with their level of interest in learning it.

In all honesty, if your kids are interested in learning programming, the problem will more or less solve itself - i.e. it really won't matter what tools you put in front of them - Alice, Kudo, Logo, javascricpt, TouchDevelop or BASIC will all be a way for them to further their interests.

On the other hand, if your boys are typical ten and seven year olds, then their interest in programming is likely to come in a few years - if ever.

Good luck.

A good way to ease into programming is to tweak something simple but graphical, For instance:

http://msdn.microsoft.com/en-us/library/bb203893%28v=xnagame...

has lots of numbers and some very basic animation that can be tweaked. You really have to grab their interest before going into writing something from scratch or learning the basics.

Javascript is not as forgiving as a first development environment. I would use VS/C#, Eclipse/Java, or Netbeans/Java because the static code analysis will highlight mistakes.