That's what I'm saying though: they aren't able to iterate quickly because it's a huge codebase written in a programming language that is quite complex and fairly outdated. Besides, I'd assume that intermediate and experienced C++ developers are probably older on average, and are unlikely to be interested in developing games.
Why is that? C++ is over 30 years old, whereas JavaScript is 20 years old. Besides, the latter surged in popularity only recently. Based on these facts alone, we can comfortably assume that experienced C++ developers are older on average.
I can see why this is a controversial assumption though.
I'd assume that intermediate and experienced C++
developers are probably older on average, and are
unlikely to be interested in developing games.
And that is an incorrect assumption. A non-trivial amount of current game development is done in C++. Couple that with the fact that to have the games considered "AAA" on the market now requires advanced techniques employed in the language producing them and that C++ is a frequent choice results in the invalidation of your statement (not harshing you here BTW).
It doesn't hurt my case that I am an experienced "advanced C++" developer which makes video games either tho ;-).
Older on average than JS programmers, that's a reasonable assumption if you also assume that the "surge in popularity" brought a ton of kids to JS. But that they're older in general on average (i.e. not a lot of young C++ developers)? I would doubt that.
Moreover, C++ isn't outdated, it's mature. There aren't any grand new CS discoveries that are in JS but C++ maintainers haven't heard of yet.
As for "older = unlikely to be interested in developing games", I don't see where you get that from. It's like saying "older people are unlikely to be interested in writing books / making movies".
Because you only learn a language at a certain age, and only if the language in question is brand new? That's doesn't make sense (and that's an understatement to be nice).
emscripten would like to have a word with you. Also, Javascript is one of the most heavily optimized dynamic languages in existence, and has orders of magnitude more code and programmers using/written in it, than java, scala, ruby, lua, etc. Rewriting any game in javascript is imho a great idea. (I am a C/C++ game developer with ~25 years of experience.)
Java may have been a stretch.. but think about how many web apps have been written.. and consider that a large %age of user time is spent in the browser who's language IS javascript.. Ive removed java from my systems since oracle ganked it. Java is used in lots of business/banking software, true.. but even the tiobe charts u linked show it declining in popularity.. contrasting w js being language of the year 2014. As for the other DYNAMIC languages.. it's no contest.
> Rewriting any game in javascript is imho a great idea.
How do you deal with the fact that the only native numeric type is a 64bit float? Space Engineers currently uses floats as the basis for their world coordinate system. Things get really bumpy when you get far away from [0,0,0].
32/64 bit float is the native float type on the cpu you are running on.. hence you can't really claim "native" support for larger types.. if you mean native in terms of being able to write a+b for a numeric type, then that eliminates all languages that don't have operator overloading..
Many contemporary games are multi-threaded out of necessity. How would you deal with JavaScript's single-threaded, single-process model of execution? Experimental features like Web Workers?
No disagreement on that one! If your application must be multi-threaded, it does make sense to write it in a language with proper multi-threading support.
nod nod I just wish irascible would come back. I was interested in hearing what -from his 25 years of game development experience- makes him feel that "Rewriting any game in javascript is imho a great idea.".
I'm obviously missing something, and I was looking for the benefit of his insight.