the Da Vinci Machine Projecta multi-language renaissance
for the Java™ Virtual Machine architecture
We are extending the JVM with first-class architectural support for languages other than Java, especially dynamic languages. This project will prototype a number of extensions to the JVM, so that it can run non-Java languages efficiently, with a performance level comparable to that of Java itself.
Our emphasis is on completing the existing bytecode and execution architecture with general purpose extensions, as opposed to a new feature for just one language, or adjoining an unrelated new execution model.
We want the new languages to co-exist gracefully with Java in the JVM, and to benefit (like Java) from its powerful and mature technologies.
We are looking to remove “pain points” already observed by implementors of successful or influential languages, as opposed to attempting more speculative work on unproven features or niche languages.
Sub-projects with major activity include dynamic invocation, continuations, tail-calls, and interface injection. There is a large number of more speculative, lower-priority sub-projects. These are included in hopes that someone in the community will become excited with us at the prospects of a more dynamic JVM, to the point of sharing in its creation.
- Questions? Try our FAQ.
- Getting involved:
- Prototyping work
- Mailing lists
Note: The following are under construction. Perpetually so, since they are wikis. Please join in!
- Specification process — JSR 292
- Issue list
- (issue management TBD)
- Presentations & Articles
- New JDK 7 Feature: Support for Dynamically Typed Languages in the Java Virtual Machine, 2009-07-24, Sun Developer Network article
- Java yields to other languages on the Java Virtual Machine, 2009-07-16 Computerworld
- Toward a Renaissance VM, 2009-06-02 JavaOne TS-5216, San Francisco
- JSR 292 Cookbook, 2009-06-04 JavaOne BOF-5236, San Francisco
- Collaborating on JVM Futures [PDF], 2009-06-01 CommunityOne, San Francisco
- New JVM Plumbing: Method Handles and More and Channel 9 interview, 2009-05 Lang.NET in Redmond
- Dynamic VM summit, 2009-03-25 before PyCon in Chicago
- Rémi Forax and Alex Buckley, 2009-02-08 at FOSDEM in Brussels
- Alex Buckley & Brian Goetz, 2008-12-09 at Devoxx08 in Antwerp
- JVM Language Summit, 2008-09-24 at Sun’s Santa Clara campus (more to come in 2009)
- The Da Vinci Machine: Multi Language Environment for Java Virtual Machine, presented by Thamaraiselvan 2008-04-09 at Jax India 2008
- Evolving the Java platform, presented by Ola Bini 2008-03-13 at QCon London
- New Languages on the JVM: Pain Points and Remedies, presented by John Rose and Charles Nutter 2008-01-28 at the Microsoft 2008 Lang.NET Symposium
- Off-project, but related: The future will be about programming languages, 2007-09-11 observations by Ted Neward on the “renaissance”.