InfoWorld - Move over, Java. There's more to the Java Virtual Machine than just the Java language these days -- and the field of languages for JVM is growing.
Conceived as a mechanism to provide Java application portability across multiple hardware varieties and operating systems, the JVM now accommodates other languages, ranging from dynamic languages such as JRuby, Jython, and Clojure to the statically typed Scala language. Thus, the JVM is becoming a polyglot platform, where developers can take advantage of different languages for different needs.
[ See InfoWorld's related stories: "Scripting languages spark new programming era" and "JRuby to live on after Sun-Oracle merger." | InfoWorld's Neil McAllister argues, "We need more polyglot programmers." ]
The reason the JVM has become so attractive for other languages is the Java platform offers performance and other advantages, says Tim Bray, Sun Microsystems' director of Web technologies. "These days, the JVM, especially HotSpot, has extremely high performance. Second, there's a huge universe of Java libraries. One of the hard problems in getting a new language going is assembling all the necessary libraries to make it useful; on the Java platform you get those for free," he says. Many enterprises also will not deploy anything that does not fit into the Java ecosystem, he notes.
Java the platform taking more prominence than Java the languageSun's Bray emphasizes that the Java platform is becoming more important than the language itself: "I personally think that the Java platform has more strategic importance than the Java language, going forward."
"The JVM has been absolutely great for us because it really has improved performance very steadily essentially in every new generation," says Martin Odersky, developer of the Scala language. Scala can replace Java in a company's infrastructure, he notes, citing Sony Pictures as a case in point.
Still, JVM proponents do not see the Java language being made obsolete by the increasing use of other languages in the JVM. "Java remains the world's most popular programming language and will be at the core of enterprise and systems programming for the foreseeable future," Bray says.
"If anything like that would happen, it would be in the very, very far future," Odersky says. Java has huge momentum behind it and most companies are reluctant to change, he notes. Still, it is "likely that Scala and some other languages will gain programmer share on the JVM platform and that the platform will become more polylingual than it is now," Odersky adds.
One reason JVM may become more polylingual is Sun's Da Vinci Machine project, which promises to simplify the running of dynamic languages on the JVM. "The Da Vinci Machine work-around [Java Specification Request] 292, designed to make it easier for dynamic-language implementers to get good performance on the JVM, is going to improve the platform's attractiveness to the dynamic language community beyond where it is today. That work deserves close attention going forward," Bray says.
- The Business Value of Continuous Delivery Download this whitepaper to learn more about the business value of Continuous Delivery and see why it could be a game changer for...
- Ten Factors Shaping the Future of Application Delivery Download this research report conducted by Enterprise Management Associates (EMA) to learn how those that are seeking to accelerate application delivery are leveraging...
- Adobe Creative Cloud FAQ The following are answers to common questions about Adobe® Creative Cloud™ for teams membership, purchasing, security, and storage.
- What's coming to Adobe Creative Cloud Editing and video content creation workflows are about to get easier and more exciting, with major updates coming soon to Creative Cloud, bringing...
- It's not too late...Get Your Mobile Questions Answered Live! How can IT provide seamless and secure mobile communications and collaboration for all? Join this live Webcast as IDG asks an expert panel...
- On-demand webinar - 7 Keys to Service Catalog Implementation Success Watch this webinar to learn 7 crucial keys to make your service catalog a success! All App Development White Papers | Webcasts