My nephew, who is 12 years old, is very interested in learning a programming language and wants to develop games (most of the kids are fascinated by electronic games). Can somebody suggest a language that he can learn and write small programs/games. Java could be one of them. If so, what is the best book to start with ? Any information is appreciated.
Increasingly, people seem to misinterpret complexity as sophistication, which is baffling - the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user. Niklaus Wirth
Hi, I was also 12 when i started programming and now i am 14. I would suggest he start with java or python as they are simple and object oriented. Before he starts developing games he should concentrate on getting his basics right. I have many friends who jumped directly to games and have very poor design. I would suggest a book like Head First Java by Kathy Sierra and Bert Bates or Practical Python by Magnus Lie Hetland.
I tutored a couple of boys, ages 12 and 13 at the time (a few years ago), in programming. I started with one of them using Java and found it to be a lot more difficult to get off the ground. Java contains a lot of odd bits of syntax and terminology that are a bit alien to a 12 year old.
One of the reasons many people think Java is such an easy language to learn is their familiarity with either C or C++. Imagine someone who doesn't have that syntactic background; there are a lot of little details to remember and get in the right place in Java.
In contrast, I used Squeak to work with the other one. It was so much easier to get off the ground. OO concepts map very directly into the language (Smalltalk). There's a very rich graphical library, so getting to the point of building nice looking and robust games is far, far easier than it is in Java. We put together a working breakout game (the thing with bricks, a paddle, and a moving ball that knocks out the bricks) within 3 one-hour sessions.
I highly recommended downloading Squeak and playing with it to see what you think. It would require a bit of learning yourself before you could effectively teach a 12-year-old, but from the 12-year-old's standpoint, it'll be worth it.
Age 12 is about the right time to introduce kids to programming, from what I've read and experienced myself. Be forewarned that some of the mathematic concepts required to build games are a little ahead of them at that age. Understanding coordinate space is an iffy proposition, depending on the child.
-Jeff- [ December 14, 2005: Message edited by: Jeff Langr ]