As I mentioned in the introductory post for this blog, I’m really not sure what direction I should go. There seem to be several options:
- I’ve had Python suggested as a good beginner’s language.
- Visual Basic seems logical given my past history with BASIC (though it is apparently quite different from the 8-bit 80’s era language I grew up with).
- Objective-C might make sense, as I’m interested in developing mobile apps, and I currently own an iPhone. Most iPhone apps make heavy use of Objective C.
I’ve decided (at least for the moment) to start with C++, for a number of reasons:
- It is one of the most popular programming languages created. I’d wager that the majority of commercial applications created over the past 10-20 years have been done in C++
- From what I have gathered, it is not tolerant of sloppy coding techniques.
- It is hard to learn. I realize this sounds backwards for a beginner’s blog, but I figure if you can get a handle on one of the harder languages, the easier ones will be that much simpler.
I will probably jump around between different languages as my whims dictate, but for the moment I’m going with C++.
Beginning C++ Through Game Programming
So now that a language has been determined, the next step is to determine how to actually learn the language.
Late last year, I purchased Beginning C++ Through Game Programming, Second Edition* by Mike Dawson. He teaches at UCLA, and was the co-designer of Dark Seed, an early 90s horror/adventure game.
I’ve always been interested in writing my own games, and learning programming via writing simple games seems like a logical way to go about it. From a cursory scanning of the book, it seems that the example games are all text-based – which is fine with me.
I will attempt to work through the book and update the blog on my progress, without simply duplicating the content of the book. Not sure how I will accomplish that yet, but I suppose we shall see!
(*Apparently there is a revised edition coming soon, Beginning C++ Through Game Programming, Third Edition.)