Ads by TechWords

See your link here
Receive the latest technology news and information.
Application/Web Development
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
Cloud Computing
View all newsletters




Privacy Policy
 

Sun's Da Vinci Machine broadens JVM language support

February 1, 2008 12:00 PM ET

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).


Reprinted with permission from

For more enterprise computing news, visit Infoworld.com
Story copyright 2006 InfoWorld Media Group, Inc. All rights reserved.

Jump to comments

Java Virtual Machine

Additional Resources

EFD vs. HDD - What You Need to Know
WHITE PAPER
Enterprise flash drives provide a new Tier 0 storage layer capable of delivering high I/O performance at a very low latency. Proper use of EFDs in an Oracle environment can deliver increased performance compared to fibre channel drives. Read the recommendations for identification of the best DB components for EFDs.
Gartner Research Report: Magic Quadrant for Application Delivery Controllers, 2009
WHITE PAPER
The market for products to improve the delivery of application software over networks remains dynamic and innovative. Vendors focused on solving enterprises' most-pressing application problems have become the top players.
Eight Criteria for Server Load Balancing
WHITE PAPER
Server load balancers are a simple yet highly effective means to scale an application environment while ensuring its availability. Today's solutions should also address application performance and security. Read about the top eight criteria you should consider when choosing a server load balancer and how Citrix NetScaler meets those requirements.

What People Are Saying

White Papers & Webcasts

Extend, Replace, or Convert; which is the best way forward for COBOL Applications?
Download this white paper, free, compliments of Micro Focus!  

The Workday User Experience Video
Watch Workday's Creative Director, Scott Lietzke, discuss the business-centered design philosophy at Workday.

Business Process Framework Demo
Learn about Configurable Business Processes and Calculated Fields. Watch Now!

Manager Experience Demo
Go beyond self-service solutions to perform more effectively. Watch Now.


IT Jobs