Starting from scratch? (PHP Background)
Java doesn't have much API support in the game industry and is not widely recommended for games. The best scenario would be to learn all three of C, C++, and Objective-C. C++ is a "superset" of C, but it's harder to pick up than just plain C. Objective-C requires you to know C first, but it's really easy to learn after that. So my recommendation is to learn C first and then Obj-C and C++ later - although you can easily make powerful games without Obj-C or C++, all the id games up to Quake3 are pure C if you have any doubts. I should note that C++ is a little more popular for game development these days and you'll see lots of example code using it, so the argument *could* (and probably *will*) be made that you might want to jump in at the deep end and go for C++ right away, but I personally think it's overkill, especially for beginners. Also, most support APIs used with games (OpenGL, OpenAL, etc.) have a C public API so you can utilize those with just plain C skills. For graphics the standard API on the Mac is OpenGL. The quickest way to get into OpenGL is GLUT. If you can learn C and do some stuff with GLUT you will be well on your way.
Another short descriptive comparison of the C family of languages:
C - the basis of it all. It's the fastest and most flexible, but does not have any built-in object orientation facilities which can be seen as a major bummer. However, that does not mean that it cannot be used in an object-oriented fashion as many seem to believe.
Objective-C - is C with object orientation added. It's primarily used on Mac OS X for use with the Cocoa API. Cocoa is Apple's wiz-bang user interface API for making powerful menus and windows, etc. Objective-C is pretty efficient and is fast enough to be used for entire games but many of us just use it for the user interface and leave the faster graphics code in C or C++.
C++ - the focus of bitter debate between lovers and haters. C++ is probably the king of all programming languages today. It's object-oriented and very powerful and basically as fast as C for all intents and purposes. The new id games such as Doom3 and Quake4 use C++ as well as virtually every other major game in the industry. C++ also has the characteristic ability of encouraging programmers to write virtually unreadable code. Make no mistake about it C++ can be *very* complex and can take quite some effort to learn versus other languages, but many would argue the benefits outweigh the drawbacks.
Another short descriptive comparison of the C family of languages:
C - the basis of it all. It's the fastest and most flexible, but does not have any built-in object orientation facilities which can be seen as a major bummer. However, that does not mean that it cannot be used in an object-oriented fashion as many seem to believe.
Objective-C - is C with object orientation added. It's primarily used on Mac OS X for use with the Cocoa API. Cocoa is Apple's wiz-bang user interface API for making powerful menus and windows, etc. Objective-C is pretty efficient and is fast enough to be used for entire games but many of us just use it for the user interface and leave the faster graphics code in C or C++.
C++ - the focus of bitter debate between lovers and haters. C++ is probably the king of all programming languages today. It's object-oriented and very powerful and basically as fast as C for all intents and purposes. The new id games such as Doom3 and Quake4 use C++ as well as virtually every other major game in the industry. C++ also has the characteristic ability of encouraging programmers to write virtually unreadable code. Make no mistake about it C++ can be *very* complex and can take quite some effort to learn versus other languages, but many would argue the benefits outweigh the drawbacks.
Possibly Related Threads...
| Thread: | Author | Replies: | Views: | Last Post | |
| Starting from scratch? (C Background) | SLDCGG | 6 | 3,663 |
Aug 9, 2005 01:13 AM Last Post: sealfin |
|

