Game scripting engines don’t need easy access to cross-platform features. They need access to what the game engine requires and/or provides. Good game engines expose to the scripting layer only that which is required to do the job.
I’m more than happy to use a language that takes more memory & is of slower performance than C/C++ for general tasks that are quicker to compile and debug. I use Python for file processing all the time. I use Java for accessing & processing XML feeds from/into web applications. I even use Perl scripts on occasion where the string processing element of the job would benefit from it.
What I don’t do is confuse those languages as reasonable replacements for game scripting engines with high performance, low memory footprint, ease of integration, and battle-tested in high end games already.
So much of this is complete bollocks that I’m not going to do a line-by-line rebuttal. Suffice to say, benchmarks are better than hand-waving, speed is of concern for game engines, like it or not CPython is what is integrated in games at the moment (not to mention is written in C), we’re talking about game engines - not numerical processing applications, and Guido Van Rossum is hardly a non-biased source (who only states that Python is “fast enough” for him, not that it is faster than C/C++).
No arguments there. The issue is that those tradeoffs make them unsuitable for game engine scripting. I’ve used Java for enterprise systems where maintenance, interoperability, and the (theoretical) ability to run it on different platforms were more important than memory consumption & performance. I fully support it’s use in these situations.
Demonstrating that you are completely unaware of the structure of a Java VM, how it’s memory model operates, and so on. C/C++ is a language where you can explicitly dictate the memory requirements, when it is allocated, when it is released, and so on. Java is not. C/C++ can be statically compiled to only use the absolute minimum of library support cutting memory footprint even further. Java, to even be allowed to call itself that, must load libraries to provide a base level of functionality that blows away any chance of a “super low memory footprint”. Anyone actually familiar with how Java works internally knows this, which implies you don’t or are deliberately ignoring the Java Virtual Machine & Java Language specifications to make the above argument.
Absolutely terrible to work with. Clearly. which is why the vast majority of software you’re running on any given desktop is going to have been written in it or C++
And with that line you lose whatever shred of credibility you had left.