4 Years
Discussion Span
Last Post by jwenting

Any general purpose programming language is effectively neutral, in that it doesn't restrict you in what you can do with it except for those restrictions imposed upon you by the platform on which the created software is executed.

And if you mean that Java can run on any operating system/hardware, that's theoretically true as long as you're able to implement a JVM that will run on that operating system/hardware combination (which might be impossible if you're for example severely memory constrained and simply can't load all the data a full JVM would require).

Of course this also ends up being about the dual nature of Java...
Do you mean Java the platform, or Java the programming language?
Java the platform is defined by the JVM specification, Java the language by the language specification.
It's quite possible to create a compiler for Java that doesn't compile to classfiles (and thus doesn't generate output that will run on a JVM that complies with the JVMS), or to create a language for the JVM that doesn't comply with the JLS (in fact many such exist).

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.