Hacker News new | past | comments | ask | show | jobs | submit login

Python is a good choice because it is clean, easy to learn, and has a large choice of libraries like pygame. It is important to choose a language that encourages good programming practices. For that reason PHP and Basic are bad choices. Some of the worst code in the world is written in PHP or Basic. I would also stay away from languages like perl.

Avoid languages like C++ or Java because there is so much to learn before you can produce a simple Hello World. There is no reason to learn OOP to do a simple task.

I think JavaScript would be a reasonable second language. He should learn programming firs before having to deal with browsers, the DOM model, and OOP.




I think many of you have completely forgotten what sucked you into hacking.

Here's how to get a kid hooked on programming:

  1. Programming should be fun.
  2. Programming should be fun.
  3. Programming should be fun.
Who really cares if a child isn't using "good programming practices"? When I started writing code, it was downright shameful.

But in time, my internal desire to advance my art led me to nuking my globals and having some kind of naming standard. Eventually I fell in love with elegant languages.

Give the kid a fire. Let him decide if he wants to improve himself over time.

When I started, I just wanted to make games. Not learn Greek. Kids just don't care about Python or Ruby's elegance.


Reinforcing good practice shouldn't need to negatively impact having fun; some would argue that Python's strict enforcement of syntax and structure means one less thing for the kid to worry about deciding for himself, thereby reducing the complexity of learning. When you're just starting out, having some (meaningful) rules in place can be a good thing.


I would suspect a good IDE might be better than a headful of little things a kid has to remember. ("Hey buddy, see how you missed the ; here, better add that!")





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: