My son is very interested in developing a video game. He is only 10, but I want to encourage his interest and was wondering where is the best place for a 10 year old to start? learning language? understanding computer programing? as you can tell, I am not knowledable in such things in fact he knows more than I do.
I'd suggest he starts to learn how to program any language, but probably start with VB.NET (Microsoft Visual Studio Express version is free). There are lots of intro tutorials on the web, and several books at amazon.com. Unfortunately he is too young to join DaniWeb (minimum age is 13). There are a lot of concepts he needs to learn before he can actually program is first game. If he is a fast learner then it shouldn't take more than a couple weeks, if that, to get through it.
I think python would be a good starter language for him (i learned that when i was 13ish),
i dont have much experience with small basic but it looks like it would be good for him to learn basics and will give him an understanding of the programming world.
I highly recommend Java. Small Basic seems like an amazing teaching tool for someone who knows nothing about programming, but when it's time to start a serious project you don't want to be using a language for beginners. When you no longer need to learn what Small Basic can teach you, it is bound to become a burden rather than a help.
Java is a wonderful balance of being simple and easy to use while still being a serious language. Once he masters Small Basic, I think Java is the next natural step.
On the other hand, choosing a language is not very important for a beginner. It would be just as valuable to make a survey of dozens of languages rather than learn any one language completely. The more languages you know, the broader your horizons become.
Even so, don't try to do a serious project in any language without static typing. Python and Small Basic don't have static typing and that is fine for people who are still learning and don't understand static typing yet, but static typing is a set of rules that helps you to always know where you are and what you are doing. Even with static typing there is no guarantee that you won't get lost, but your chances are much better with than without.
this may be a bit dated but I would suggest using the Game Maker program(it is free online). it is a point and click way to making games. There is a scripting language that is like visual basic and plenty of tutorials for it.
I would recommend he starts with something similar to Game Maker to understand the concepts of making a game (ie. mathmatical and logical side), before moving onto a simple language such as Scratch or Python.
Funny I just took my daughter through a programming language called ALICE. It is much like SCRATCH and for the young it is a very easy to understand and follow interface if you follow a book course. She is ten and now learning python. Alice is a very basic way of creating animation and simple games (it has a deeper engine but it is coded very simply) It is used extensively for this very age group to get them interested in programming. And it isnt a waste of time it sets the fundamentals down and as they get an understanding they can move to a language (like python or??) and have a base.
Ohh just to add the difference in starting with something like ALICE or SCRATCH is that there are faster results and kids get bored easy or frustrated. This lets them actually see there ideas start happening wherease if you go straight to a language with a ten year old they may just dislike it because it is boring if you dont realize what the results are and cant see something happening. At least for beginners and children this seems to be the case.