OS doesn't matter - I can do Windows, Linux, etc.

I'd prefer free (as in beer) software.

The language itself is important, but it also matters if there are good simple tutorials available, etc.

I can help him quite a bit, I'm not a full time programmer, but over a number of years I wrote code in maybe half a dozen languages. I can still code fairly decently in PHP.

  • Voted to close: this should be migrated to programmers.SE -- I'd love to answer it there!
    – HedgeMage
    Apr 27 '11 at 5:02
  • 5
    I hate to vote to close a question I'd love to answer, but @hedgemage is right this belongs on programmers.SE more than it does here, in fact there are already several versions of it there. programmers.stackexchange.com/… leads to programmers.stackexchange.com/questions/71585/… or stackoverflow.com/questions/1117293/… (surprised it hasn't been migrated yet)
    – cabbey
    Apr 27 '11 at 5:32
  • Too late to answer, but I agree with Logo, and then go onto Python. Although there is a Turtle module in Python as well, so you can go directly to Python, if you want. Apr 28 '11 at 21:17
  • 1
    Logo to Python is a huge leap. Logo is a good start, but I would use something like Processing (processing.org) as it is a similar concept, but far more developed and will introduce more complex structures. From there I would choose something like FreePascal (Lazarus) or VB.NET as all the fundamental building blocks for any language are there as well as easy to create GUIs. These are good solid steps into the more mainstream programming world of C#.NET, Perl, Python and so on.
    – MaQleod
    Apr 29 '11 at 7:49
  • 1
    I jumped into Python directly; I was about 8 and after I told my mom, she got a Python book. I was mathematically inclined and so Python made sense to me (actually I was amazed by computing crazy exponentials and calculations) Oct 28 '13 at 15:15

I'm going to answer quick before this gets closed: Logo! It's visual and easy to learn, and can help him practice procedural thinking, breaking repeated tasks into reusable methods, and even recursion. He'll have lots of time later to use Objective C and C# and PHP and all those other boring languages we adults use. Let him make some kick-ass spirals with Logo first.


Basic. I learnt it at 9 years old, and it is easy enough to get into. The graphics libraries means you can create shapes on screen and program something visual. You also have for loops and conditions. It is a procedural language so you get right into programming without having to learn OOP concepts.

10 do this
20 if this goto 40
30 goto 10
40 some more code

This is a lot easier than having to explain to a 9 year old what a class is or a data type.

While some people might also recommend games like Minecraft which has a programming element. I would say there is no good reason for a 9 year old not to jump right into a real programming model.

  • 1
    four lines of code. two goto statements. :-(
    – DanBeale
    Aug 13 '11 at 16:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.