While this is moving a bit away from threads topic I still have the need to say it so please do apologize me.

First for all of you who desire to get into AAA gaming industry.
It doesn't matter what programing language you use but what you have to show of to them. If you think that you will be hired by some big AAA company just becouse you know C++ think again.
You will be hired by what you can contribute to them regardles in which programing language is that written. Why?
You do know that you can use more than one programing language in one application? Easiest way is by using either dynamic or static libraries. And yes it is also posible to use more than one programming language in making single executable. All you need for this is modified linker whcich is capable of joining bytecode from different programing languages and the fact that code is written in such way so that parts of fiinal application which are written using different programing language can comunicate with each other (same variable types, comon interfaces, etc.).
Besides if you would manage to really impres some big AAA company and they are not prepared to use some Objective Pascal code in their games they will ofer you suitable training in the programing language they use and the development tools they use.
So no need in banging your head and trying to do something in C++ if you know that you can probably do that easier in Objective Pascal as Objective pascal is programming language you are much more comfortable with.

To all those of you saying that there are just some low level things that cant be done in Objective Pascal but can be done in C++
Don't BS me! (sorry for my rugh language) Objective Pascal is one of rare higher level programming languages which still alows you to go down to lovest levels when needed.
If you wan't you can still manually initialize any object, variable you wish by caling all low level cals for doing this so by yourself.
You can use C++ style like pointers if your want. Sure debuger will bug you with warnings of potentionally dangerous code for this but you can still do it.
Infact if you want you can rewrite whole RTTI part or even whole memory manager. And if you decide in rewriting default memory manager you can look at FastMM memory manager (the memory manager newest Delphi versions now use) source code for reference. http://sourceforge.net/projects/fastmm/
So don't BS me (sorry for my foul language again) that some low level stuff can't be done in Objective Pascal. They can be done but they will probably require as much code as doing theese fearures in C++ (yes code in existing libraries is still code).
The best thing of Objective Pascal is that you are not forced to do everything on lowe level as many things are already done (maybe not in most efficient way) for you but there is nothing stopping you from reinventing the wheel.

As for stability of each programming language.
Unles you are talking about high level programming languages which doesn't alow you to go down to low level (Java, C#, .NET and alike) it all depends on programer who is working with it.
So if something witten in C++ is unstable it is only becouse at some level programer or programers which worked on that thing screwed someting up.
And since when working with low level programming langugages you have to do everything by yourself it means you have to write more code for it. And more code you write more chances you have to screw up something.

The biggest drawback of low level programming languages in comparison to high level programming languages is that for achieving same thing you ned more code. And as the code amount increases so does maintaing of this code becouse it becomes more dificult to vizualize what that code does. It is much easier to vizialize what 100 lines of code does than what 1000 lines of code does even fhou the final result might be compleetly the same.
The main reason why higher level programming languages were developed in first place is to overcome this dificulties of visualizing that lots of code.
And yes most higher level programming languages can do everything that low level programming languages can do becouse they actually use parts of low level programing languages code wraped into some higher language methods just so you don't need to write all that by yourself. Instead you can simply cal one function which can do waht 100 lines of C++ code would do.


Again I would like to apologize for some bad language I used but I realy get pissed of (here I go again) when pepole start saying that one programming language is so much better than other just becouse it is used more comonly than the other as this is in most of the times far from being truth.

Anywhay in the end it all depends on programer which is using programming language and not the programming language itself.


As for costs of investments for development tools.
While price for some development tool can be perfectly acceptable by one person that doesn't mean that it will be even acceptable by someone else as their financial situations are probably not the same.
I myself bought a new version of Delphi XE2 some more than a year ago. For me that seemed as acceptable investment even thou I'm a hobby programer who hasn't managed to compleete any of his projects yet. But probably many other wouldn't agree with me as their financial situation is probably worst than mine even thou mine is not so good either.

Whatever you do in your life you will always need to put some investments into. Now what are acceptable investments is up to each individual himself. So there is no point in arguaing about that.