Originally Posted by
Sebastiani
I would love to see those features as well, of course, but that would effectively mean completely overhauling the language, which will probably never happen. Besides that, there are some inherent limitations in the virtual machine itself that indicate that it may not be the "language of the future". Just as an example, the instruction set itself can never exceed 255 unique opcodes, since no bits were reserved to allow for multi-byte encoding (there are ways around this, of course, but it would be an ugly hack), and considering that there are already 200+ existing opcodes, real estate is already pretty scarce. Another problem is the fact that almost everything (relating to sizes/counts) are encoded in 16 bits or less. No function, for instance, can be larger than 65535 bytes. While that may be reasonable in *most* cases, it's nonetheless not very 'forward-thinking' (and would certainly make things such as inline functions practically impossible to implement in future versions). Other width-related limitations have even led to the introduction of things such as special 'widening' opcodes, adding yet another layer of complexity and inefficiency to the environment. And as time goes on, computers become more powerful, memory models grow, etc, these problems are just going to get worse - all of the sudden you could be faced with a development tool that just can't handle it. Which isn't to say that these problems can't be fixed, but it will definitely require some drastic changes to the specification itself.