Sun's Da Vinci Machine broadens JVM language support
InfoWorld - Sun Microsystems Inc. is working on technology to make it easier to run different languages on the Java Virtual Machine. Called the Da Vinci Machine, the project is being described by Sun as "a multilanguage renaissance for the Java Virtual Machine architecture." The project features prototype JVM extensions to run non-Java languages efficiently.
Although many languages besides Java have been implemented on the JVM, including Ruby, the intent is to make the JVM even more compatible with other languages, said Charles Nutter, core developer of JRuby, which is a version of Ruby to run on the JVM. "For the most part, almost every language that's more than 5 years old has some kind of implementation on the JVM," he said.
But support does not automatically mean that all languages run equally well on the JVM.
The Da Vinci Machine is intended to overcome obstacles like mismatches between a source language's design patterns and JVM capabilities. Because the JVM was designed for Java and Java favors some design patterns over others, implementers can find themselves dealing with these mismatches, Sun said.
"Specifically, the JVM was originally for Java, and many other languages have features unlike what Java provides. We need to find ways to support those features," said Nutter.
Some pain points to running new languages on the JVM include limitations on calling sequences and control stack management, finite inheritance and scaling problems when generating classes.
Nutter pointed out that Java, which is a statically typed language, differs from scripting languages like Ruby, which are dynamically typed. Thus, Java gives the JVM more clues about what code is going to be executed. Researchers need to find ways to let the JVM make the correct call for these languages, he said. In JRuby, this obstacle is addressed via a piece of code to inspect target operations.
Sun is planning to include some features of the Da Vinci Machine in the upcoming Java SE Development Kit (JDK) 7, which is based on Java Platform, Standard Edition 7. Sun would not provide a release date for JDK 7. It is not known how many Da Vinci features might actually get into JDK 7, Nutter said.
Da Vinci represents an experimental branch, or even a fork, of the JVM, said Nutter. He cautioned that fork in this case is not meant to carry the same negative connotations associated with forking of a platform.
Some Java developers liked the idea of the Da Vinci Machine.
The Da Vinci Machine "sounds like something I was thinking was going to happen and should have happened," said Daniel Hinojosa, an independent Java developer and a founder of the Albuquerque Java Users Group. "I think there's going to be a race between Java" and the Microsoft CLR (Common Language Runtime).



- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- The Keys to Distributed & Agile Application Development
- How leading firms are winning with strategies for efficient application development, without relying on co-location.
- Overcome Top 7 Admin Challenges of Active Directory
- As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
- Insiders Can Ruin Your Company. Take Action.
- Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
- Top Solutions and Tools to Prevent Devastating Malware
- Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
- Streamline Compliance and Increase ROI
- Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will... All App Development White Papers
- Reduced TCO for Communications Applications with New Oracle SPARC Servers
- In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
- Optimizing Networks for the Cloud
- Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
- Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
- Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
- Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
- Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
- Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
- Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn... All App Development Webcasts