The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
I've always recommended C (not C++) as a starter language for a couple of reasons:
- You learn to think about what's under the hood from the start. If you go the other way around you may get into some vices that are heard to unlearn. - Once you get up to speed with C, other languages are easy to learn, plus you get the benefits of high level programming with the knowledge of knowing what's going on under the hood. That makes a lot of difference on writing good software. - Eventually, if he is serious about game programming, the odds are that he is gonna hit C++. Either himself or with an employer. That will make it much easier for him.
Having said all that, the C language is a challenge for most teenagers, but you will not know if he can handle it if he does not try. Maybe it will feel natural to him and if he does, well, he will have a brilliant future in programming.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
I started out with similar intentions when I first picked up C# about 7~ years ago.
I started with the XNA Framework from Microsoft making simple PC games. It introduced me to some common problems and practices that are encountered in developing video games.
After that, my job called for some in-house tools to be developed, and my knowledge of the language expanded to meet it. I started out with a program that scrapes files from a folder and emails them. My most recent project being more complex; an automatic update program that first checks for updates to itself, then loads and executes an assembly of update procedures for our flagship software.
I guess an example of this would be my ACLib project at github, which was intended to expand on the native Windows console and add some functionality more appropriate for ASCII based video games. This is one result of my interests in video games and my collected knowledge on C#, and a weekend's worth of work.
I've also used things like Unity, but I feel like they abstract too far away from letting you use C# to build a game, and instead they try to force you into their own little system of how things work. It chokes out the strengths of C# as a language by funneling you through their own libraries and ambiguously defined 'magic' methods.
I am by no means in the leagues with some of the fine folk here on CP, but I feel that the path I've chosen has prepared me well enough to pick up a legitimate job developing software and I can only recommend anyone young and willing to do the same, especially if they have the free time.
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein