Question

I have been hearing a lot lately regarding Scala, Clojure, etc which is supposed to run on JVM. Does this means that those languages are implementing the Java API underneath? What does it mean for a language to run under JVM?

Thanks.

Was it helpful?

Solution

It means that these languages can be compiled into Java bytecode, which the JVM executes.

OTHER TIPS

It means that the language compiles down to JVM byte code at some point. The language doesn't need to implement the Java API; the Java API is already there (more or less all the time).

It just means if you have a JVM you should be able to run the language without another VM (although you'll need whatever class files the language compiler and libraries need, obviously).

There is a Virtual machine that java runs one (JVM ),which abstracts away more machine level worries. These languages just use it as an intermediate language oppose to writing architecture specific instructions.

Usually, it just means that you have to install JRE to make sure they can execute.

And usually they don't require JDK, which is used to compile .java code into .class byte file. Instead, they provide their own compiler which runs on the JRE you have installed.

So in summary, you just need a runtime support Java (some specific version).

if you need an in depth information: normabmcclelland@linuxmirroreast.com

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top