Quote:Original post by freeworldBut the console's tool chain supports C++, and typically not even very well [console compilers and runtimes are notoriously primitive compared to PC compilers]. Building on top of that poor compiler a second compiler for another language is hard, and typically not worth the effort. That, coupled with enormous code bases of already established and battle-tested code, and you end up with a slow process of adaptation. You're going to need a really strong argument to convince a company to abandon a couple man-decades of work on hand-tuned super-optimized libraries, that also work around all the funky bits and wierdness of the individual platform-specific api's.
Consoles don't support C#, they don't support C++... They support machine code and only machine code. Languages like C and java are just tools to make coding easier than typeing the series of 1's and 0's that make up an EXE.
For the record though, languages like Java and C# do offer some pretty neat things to the compiler writers of the world that allow for certain types of optimizations that just are not realistic to perform in C++. There is plenty to be done in Java/C#/Python/etc that is interesting to game dev. I've beat this dead horse pretty bad, so I won't go into it deeply again, but the freedom of C++ also means that compilers have to tip-toe around certain sorts of special cases when making optimizations to not result in stupifyingly broken code. The result, the run-times add a bit of overhead to C# and Java, but compilers can play a lot more tricks with these languages than can be played in C++. That is, if you are a totally super-perfect C++ programmer, which is not likely the case. There are plenty of situations in which the managed memory of C#/Java can outrun by-hand memory management in C++, but I'll shut up now.
ps. Am I the only one who remembers the arguments about C++ being too slow for game dev, and that you should be using a mesh of C and assembly?