Age 10-12: Sinclair BASIC (ZX Spectrum)
Age 12-14: AMOS BASIC (Amiga)
Age 14-15: AMOS Pro (Amiga)
Age 15-16: BlitzBasic (Amiga)
- gap -
Age 18-27+: C/C++ (PC)
Age 25-27+: C#
Throw VB6 in there for about 5 years and you'll get to where I am now. Without scripting languages, etc.
I'll say I took to C++ quite well, still do. I enjoy the language and the sheer freedom it gives you. I can't say I can ever see myself not appreciating its excellence, even if you disregard the nasty COM/MFC bollocks that Microsoft inflicted upon us with it.
The simple fact is this, so a now 'casual' home programmer, C++ and the related game programming libraries (OGRE, Torque, etc) simply take too long to implement. Take the typical C++ program I'd work on... I'd spend weeks writing a 'generic framework' around a series of abstract components for input, graphics, sound, etc only to find that the implementation of say DX or OGL didn't mesh entirely with the structure, so I'd have to write more conversion code to fit them together. Scale the same up with sound, scripts, file loading, etc, etc, etc and you spend a lot of time writing loads of really great code but to almost zero results.
A spinning model is a spinning model. Noody really gives a shit if you wrote the cod to load the .3ds file from your own zip-based file system, and display it to screen with all the textures that can decode from many formats. If you wrote all that code yourself, you;ve come a long way to get to the basemesnt floor - if not, you still probably spent a long way to get into the basement floor.
So to spend a lot of time dancing around my point, I can write a lot of code in BlitzMax and achieve a lot. I've done nothing serious, but from what I can tell you get your OOP class style structures, with single level inheritance and basic interface stuff, but with the power of single line commands for input, display, loading, collision, etc, etc. It seriously reminds me somewhat of the old days wherein my coding would be uber productive and I'd spend my time seeing real results, not fixing a bug in my image loading code that only manifested itself in PNG format with a certain number of colours.
I think I'll be spending more tme with BlitzMax in the next month or so.