4 ms·
Ask HN: What is the future of jvm as a platform?
Are there any competitors? If there are no (Don't take mono) competitors, is the future of jvm locked?
Will I see Java being used when I am grandfather? (I am 17 right now.)
- taligent 14y agoThe JVM will be around for decades to come. Java as a language is still dominant in the enterprise and the growth of Scala/Groovy will see it branch into new areas. Oracle has been a fantastic steward of the platform to date so overall there are lots of positives ahead.
- MatthewPhillips 14y agoFogus wrote recently[1] about hosted languages, and how going forward it makes more sense to build a language on top of an existing runtime rather than creating one from scratch. [1] http://blog.fogus.me/2012/10/09/hostiness/ http://blog.fogus.me/2012/10/09/hostiness/
- plinkplonk 14y agoof course if everyone chose existing runtimes, there would be no new ones ;) From the blog "So if I were insane enough to create a programming language for use by others, I would, without hesitation pick one of the following hosts: Factor: the concatenative programming language has a stunning compiler and runtime GHC: the Haskell compiler and extensions with the appropriate runtime libraries Java Virtual Machine: world-beating megatech JavaScript itself or a specific JavaScript targets like Node.js or V8 Erlang’s virtual machine A Common Lisp implementation Racket via its #lang feature " Fair enough, but... if all those "hosts" had also made the decision to 'build on top of existing runtimes' they wouldn't be potential " plug and play" hosts today for others to target ;) We these choices today, only because some people who ignored the 'build on an existing language's runtime vs creating your own' idea. V8 is (relatively) very new but they didn't choose to build on top of the JVM, say. As a result we have new and exciting technology vs being locked into an aging, sorry, "mature" JVM. "Moving into the future I believe one would need to be gutsy, ill-informed or insane (or a mix of the three) to create a language runtime from scratch." You always needed to be gutsy, well informed and knowledgable, and yes just a little insane, to build a language runtime from scratch.I hope we get more and not less of these types of people. There is a lot of research that hasn't made it into runtimes yet. The Factor runtime for e.g is quite different from the GHC runtime and both teach different lessons and embody different design decisions. We need more of these, not less, till there is some solid math/theory on what makes a good runtime. In any case, if a language is good enough on its native runtime, it will probably get ported to the JVM or whatever the latest 'mature' runtime is.
- MatthewPhillips 14y agoAren't language design and runtime design different skills though? I think one of the reasons we've had an explosion in languages in the last few years is that it is very easy to take your ideas and staple it onto the JVM or transpile to JavaScript. I contribute to a to-JS language myself and I wouldn't know where to begin with writing a runtime/vm. And I have no interest in doing so.
- plinkplonk 14y agoThey aren't unrelated or orthoganal skills, just different points on a spectrum. fwiw nobody is asking you to learn runtime design if you don't want to. If you want only to compile new 'language designs' down to existing VMs,bytecode etc, then sure, you have that option (and you always had this option once the first 'host runtime' was in existence). All I am saying is that one needs to be careful not to paint with too broad a brush, and reccomend that no one explore runtime design because we have all these platforms already and it is 'too hard' (so don't go there).
- plinkplonk 14y ago"Will I see Java being used when I am grandfather? (I am 17 right now.)" We can still "see" (if we try hard enough) COBOL being used. Have no fear, Java (and even the JVM, but to a lesser extent) will be safely oboloscent by the time your grandchildren are programming. We are still very much in the Bronze Age of programming languages and environments. We have a very long way to go.
- z3phyr 14y agoI do think that, Java may be another COBOL, but I am specifically talking about the JVM (I think, they should change its name.) I am concerned about the likes of Clojure (I am especially waiting for a Clojure-on-Clojure), Scala (Tweet it!) and Ceylon (Hey, I am new Java-Boy). So specifically talking about the CVM (um, Clojure Virtual Machine :)) will do some good to me.
- plinkplonk 14y agoThe JVM will last longer than Java to be sure, but by the time today's 17 year old is a grandfather (say in his 50's) the JVM will be a museum piece. I wouldn't worry too much about the JVM somehow shambling into the distant future (technology has very short horizons) killing new lifeforms and assimilating all flesh.
- cmccabe 14y agoWell, on the plus side, all the modern JVMs do just-in-time recompilation, and have a had fair amount of optimization work done on them. On the minus side, JVMs take a long time to start up and don't really interface very well with native code (JNI sucks). The JVM also tends to be pretty poor at using memory effectively. All objects need to contain class and lock pointers, for example. On a 64-bit machine, this generally means that the minimum size of an object is around 16 bytes (may vary by JVM). Will Java still be used decades from now? Of course. I mean people are still using FORTRAN, COBOL, and Lisp, some of the first compiled languages ever to be developed in the 1950s and 1960. (Yes, Lisp is that old-- and FORTRAN came first.) How popular will it still be in X years? Who knows. Consult a fortune teller-- sorry, "analyst."