Da Vinci Machine - History

History

The Java Virtual Machine currently has no built-in support for dynamically typed languages:

  • The existing JVM instruction set is statically typed.
  • JVM has limited support for dynamically modifying existing classes and methods. It currently works only in a debugging environment.

JSR 292 (Supporting Dynamically Typed Languages on the Java Platform) proposes to:

  • add a new invokedynamic instruction at the JVM level, to allow method invocation relying on dynamic type checking,
  • to be able to change classes and methods at runtime dynamically in a production environment.

Following the success of the JRuby Java implementation, the Da Vinci project was started at the end of January 2008. The capabilities experimented by Da Vinci are planned to be added to Java 7. It aims to prototype this JSR, but also other lower-priority extensions. The first working prototype, developed as a patch on OpenJDK, was announced and made available on end of August 2008.

Since then, the JRuby team has successfully wired dynamic invocation in their codebase. Dynamic invocation shipped with the 1.1.5 release, and will be disabled on JVMs without invokedynamic capabilities.

Since then, part of the project has already been integrated in the upcoming JDK 7 codebase. and integrated in the Java 7 release.

Read more about this topic:  Da Vinci Machine

Famous quotes containing the word history:

    “Every library should try to be complete on something, if it were only the history of pinheads.”
    —Oliver Wendell Holmes, Sr. (1809–1894)

    “Let it suffice that in the light of these two facts, namely, that the mind is One, and that nature is its correlative, history is to be read and written.”
    —Ralph Waldo Emerson (1803–1882)

    “Throughout the history of commercial life nobody has ever quite liked the commission man. His function is too vague, his presence always seems one too many, his profit looks too easy, and even when you admit that he has a necessary function, you feel that this function is, as it were, a personification of something that in an ethical society would not need to exist. If people could deal with one another honestly, they would not need agents.”
    —Raymond Chandler (1888–1959)