Let me try once more. This point shouldn't be debateable:
Originally Posted by ciplogic
Let's say the JDK9 or JDK10 devs take the spec with the byte code limits and flush it down the toilet and write a new system with a new spec that doesn't have those limits. As the old spec is working its way through the sewer system, how does it prevent the new system from working?
Nice! So when some blob takes the code, wraps it around with few features to always stay above or un/crippled compared to open, ships it with may-not nazi eula - then its okay. And when someone designs a license to protect freedom of code, he is nazi.
Originally Posted by pandev92
Pee more my friend, you are full of bulls--,.. water.
This doesn't sound trivial to me, it is really very hard to do it. And I don't play here with the words. They can use a .Net bytecode clone, and the "legacy .class" is converted automatically in to .Net bytecode. This solution "is trivial, really!" as in a way .Net is a superset of what Java can do (excluding Invoke-Dynamic). They can create a new bytecode set, and pack two VMs like ActionScript VM did. Just raising the limit of instructions from one byte to two bytes for JVMs, is similar with the change from ANSI to Unicode (in strings), which is trivial to be done "for some" but in reality took many years to be done correctly in Windows, Linux, Mac OS, etc. I can say any time: is not a big deal.
Originally Posted by DanLamb
Java smart guys can work to cleanup the bytes, but as for now they didn't. I'm not going to speculate why, but I can just double down on my original quote:
"... Java is limited as types (and will not be able to add unsigned int in my understanding) because there are no enough bytecode numbers, and even the instructions that do math are for me a bit silly: you push two integers, and after that you have to call instruction "iadd", because you cannot add them anyway with "fadd" (addition of two floats)."
which seems it wasn't given a simple path. Throwing to toilet for real world projects is almost unheard of: Win32 API is supported from 1994 by Microsoft's WinNT (NT 3.5). Clean DOS programs work on Windows8 and XEyes work on today's X implementations in Linux.