Channels ▼

Eric Bruno

Dr. Dobb's Bloggers

JavaOne: Dynamic Language Q & A

May 07, 2008

On Wednesday, May 7, I attended a session at JavaOne where a panel of experts on dynamic languages fielded questions from the audience. The experts included: Tim Bray, Charlie Nutter (JRuby), Tor Norbie (NetBeans/dynamic languages), Ted Leung (Python/dynamic languages), Greg Murray (JMaki), Bob Bruin (Java FX), Thomas Enebo (JRuby), and Frank Wierzbicki (Jython)

Here is a transcript of some of the more interesting questions and answers. Some questions were simply re-phrasings of earier questions, and some offered much debate. The discussions have been left off for brevity. 

Question: What is JMaki? 
Answer: JMaki allows you to express Ajax functionality without regard to language or runtime (see 

Question: Groovy is very Java-like, why do we need it?
Answer: Groovy goes way beyond Java in several areas, most of all in terms of the learning curve. It also includes a web framework that makes it easy and quick to build web applications.

Question: Why not use one of these languages for Java FX instead of Java FX Script? Was it really necessary to create another dynamic language?
Answer: It's true that Groovy with its Swing support can do a lot of what Java FX Script does. However, JavaFX was designed for content authors, not really developers. Also, Java FX is meant to build rich user interfaces, and aimed at addressing Flash in this space.

Question: Why do we have and need so many dynamic languages in general?
Answer: No one language is ever going to solve everyone's (and every application's) needs. Diversity of languages on the JVM is a good thing since there's never going to be a single language for all needs. 

Question: Why port dynamic language runtimes to the JVM? Why not just leave them native?
Answer: In many cases, dynamic languages can run faster on the JVM than native because the JIT compiler does run-time optimizations as opposed to static compile-time optimizations for the native run-times. Also, it allows one implementation to run wherever the JVM runs, which is pretty much everywhere.

Question: When will Ruby on Rails performance improve?
Answer: It will happen! Adding functionality, and addressing compatibility, have been priority issues. JRuby applications will run better on JRuby now and going forward. Some of the performance issues are with JRuby, some are with the Rails framework. Both sides are working together to solve these issues.

Question: Why have there been no Ruby, Python, PHP (and so on) implementations for .Net's CLR?
Answer: Platform independence and portability. The write-once-run-anywhere mantra of the JVM makes it appealing to dynamic language developers. Also, since Java grew out of a Smalltalk VM, it's built on a dynamic language-enabled VM. This makes it more suitable for dynamic languages than something like .Net.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.