why you disregard game programming as a optimization-worthy domain.
Because what's the point of optimizing broken software? Practically every game released these days have glaring mistakes, so obvious there's no way no-one had noticed. The conclusion must then be that companies (I'm thinking publishers mostly) intentionally release broken or incomplete games.Let's take my favorite example of Obsidian. Their two last games KOTOR2 and NWN2. Now apart from the fact that KOTOR2 has several engine related bugs that where fixed by Bioware in the first game (like the Dantoonie is unplayable bug) their last patch permanently breaks the game by introducing new bugs. Now with NWN2 of course there is definitely an argument for optimization, because it looked worse, and played worse than any contemporary game. However what does it matter that they could have made the game run at a reasonable framerate, when the game is broken in the first place?
C++ is a very reasonable compromise where you get OOP features, inline assembly, and high optimization.
Well you get objects. But saying that C++ is an object oriented language (when it's perfectly feasible to write a complete program in C++ without using a single object) is a bit of a stretch. It would be fairer to say that C++ is a pointer oriented language. I still haven't seen any measurable speed difference between C++ and C# tho'. Skill has nothing to do with your need for optimized code; if you need a fast program, you need a fast compiler.
Well you're entitled to your opinion. Generally I find that if you need a faster program you need a faster algorithm. Or faster hardware. Both are probably a lot cheaper than C++. Did you know that the total cost of software systems in their life span is split roughly 50/50 on original development and maintenance? Except in C++ where it becomes 20/80. I find it alarming and significant that C++ programs are that much more expensive to maintain. say the word and I'll show you some of my work in C++.
No I'll take your word for it. I generally find that people who are that defensive of their programming language of choice, are excellent programmers. I had this exact same discussion 15 years ago when I switched from 68K assembly to C. I had it six or so years ago when I switched from C to Blitz. I had it again 3 years ago when I switched from Blitz to Java. Lastly I had it last month when I switched from Java to Python, and I'm sure this isn't the last I've heard of it. and almost all professional developers do need C++.
Oh. That must be why they're switching to Python and Lua. Because they need C++. The only people who NEED C++ are the people writing the Python/Lua/Ruby/Tcl/Perl/whatever bindings for their 3rd party commercial engine, providing SWIG doesn't do it all for them. Besides, I find writing communication servers more interesting. :)
Well to each his own I guess. :o>