JVM vs Native Runtimes
Comments debate the merits of JVM-style virtual machines for portability and performance against native compilation in languages like Go, Rust, C++, and C#, focusing on efficiency, complexity, and suitability for diverse languages and applications.
Activity Over Time
Top Contributors
Keywords
Sample Comments
IMO pretty much no other language run-time is directly comparable to the JVM simply due to the VM part. Building an entire VM into your run-time comes at a huge complexity cost but is necessary for its goal of running on different hardware seamlessly. It is simply not worth it for most run-times to try for that level of binary compatibility when simpler solutions like cross compiling work most of the time.
Maybe they meant there’s no VM like w/ Java, so no intermediate bytecode, or no IL like C# iirc
Not every language fits on the JVM, we shouldn't only have one VM for everything. GO is natively compiled and the runtime is only for GC very different models then Java
Won't work for any of the languages mentioned. Somewhere underneath it all you need a runtime witten in a bare metal language
Not every runtime environment is a virtual machine...
That very much depends on what you need a runtime for. JVM bytecode semantics are not a good match for something like C++ or Rust.
JVM is turing complete so it can run any language, the point is efficiency
JVM can be used for Desktop, server and in the past applets , it would be impossible to find a configuration that is optimal for all applications, so competent developers would tweak the defaults or use different deployment methods like AOT compilation or bundle your own JVM , is your problem that JVM is used in so many different places that different algorithms, runtimes and optimization were created for it ? Your examples of Go and Rust are of languages that are so far not been used in such d
Native means ur apps gets compiled to binary during compilation process, and not scripts being interpreted by a vm at runtime.
The tooling doesn't seem to be there to run C++ / Rust / Go / whatever efficiently on a JVM, too