You also have a lot more to worry about when writing code. Higher level languages exist for a reason.
Are you completely disregarding basic concepts like C++'s String class? This will allocate and free memory for you (although I don't use it, as I prefer C).
It's so much faster to do everything in C++. Let's do everything with C++ - there's no point in using any other language!
But the thing is... it *is* faster. Do any operation in C++, and its equivalent in .NET. Time it accurately, repeat tests, take the average. I would be extremely surprised if .NET was faster at anything at all.
I have written a program which assembles plaintext script opcodes into bytecode. An average small script (~150 lines) takes 2 milliseconds to compile, process the hefty include files (17KB in its new shrunken non-human-readable format), calculate offsets (believe me, this is an expensive operation), and write to the file. And then I found that the reason it took 2 milliseconds even though I was expecting better performance is because I had a few loops with calls to strlen in them.
Here's my usual GCC optimization options:
-O3 -frename-registers -funswitch-loops -fweb
Unbeatable speed, if you ask me.
I'm sure cross-platform compatibility is your primary concern when writing Windows DLL's for Game Maker
Did I mention DLLs? No, this was general programming advice.
Just because you're using C++ doesn't mean that you can automatically compile your code for every platform on the planet. Do you know a single GUI toolkit that runs on Game Boy Advance?
As a matter of fact, there's a SDL port to the GBA. (Although unofficial. But hey, there's an almost-official NDS port
Now, don't you think that if I recommended C++ that I'd do it for a good reason? There.
Tell me now what you have against C++.
Edited by score_under, 24 June 2009 - 10:57 PM.