Alaric.us: Oh and C++ is a lot more messed up than most people know. Somehow it's got the reputation for being the perfect language, but not only can you do damage, the amount of WTFs rivals that of JS, except they are much better hidden.
Check this out:
int i = 5;
i = ++i + ++i;
What does i equal to?
That's not the only problem with C++.
One problem that can come up in both C and C++ is the following:
int *func(void)
{
int x = 3;
return &x;
}
(If you try to compile this code, you might get a compiler warning; there is a good reason for that.)
Can you see why that program is bad? (If you try to write the equivalent in save Rust, you will get an error to the effect of "x does not live long enough.)
Another problem would be the following (and I think this might affect JavaScript, but I am not sure):
int func(int x)
{
if (x = 0) {
puts("No, I will *not* divide by zero; you can't make me.");
abort();
} else {
return 60 / x;
}
}
If you want a language that can fill C and C++'s niche, but has fewer issues like these, I would recommend looking into Rust; it enforces memory safety but has an escape hatch ("unsafe") if you need it.
(By the way, the game being Steam only is a dealbreaker for me, as well as the game requiring a higher resolution than my monitor's 1280x1024.)