Skip to main content

My Way Home Is Through You

Posted by editor on March 24, 2009 at 9:35 AM PDT

Getting your favorite dynamic language on the JVM

In an interesting coincidence, two presentations hit the front page today, both on the topic of running dynamic languages on the JVM. Of course, that in itself is nothing new, as we've had JRuby, Jython, Groovy and the rest running on the JVM for a while. What is new is the extent of the effort to provide better support for running these languages, adapting the JVM to be a better host to dynamic languages.

In a presentation (43 min.) recorded at QCon London 2008, Ola Bini talks about the current status of the JVM regarding languages running on top of it and the need to evolve in order to support dynamic languages. Bini presents the benefits of using a JVM, now that CPU cycles are cheap enough to afford GC, JIT, RTT: garbage collection, online code loading, reflection, JIT, tools, libraries, maturity, and others, concluding that the JVM is the best virtual machine in production. After mentioning about 50 languages built on JVM (here is a research site that compiled a list of about 200 such languages), he talks about the needs high level languages have, which the JVM partially supports, and about what's missing.

As InfoQ's Abel Avram writes:

Bini continues his presentation explaining what actually each feature is and evaluating the difficulties to be encountered if they are implemented in the JVM mentioning that they are currently implemented in the DaVinci virtual machine, a multi-language research JVM targeted especially at dynamic languages.

During the rest of the presentation Bini talks about JRuby, the progress done so far, JSR 292, and answers questions.

And speaking of JSR 292, Danny Coward announces the launch of a new Java podcast from The Planetarium, whose first episode is titled "JSR 292, DaVinci Machines and Multiple-languages." He writes, " href="">tune in to the first Planet Cast with John Rose from Sun's Hotspot JVM group for an in depth conversation (about 40 mins) with the Janitor all about dynamic languages on the JVM, JSR 292, and the work to make them easier to bring onto the JVM and run faster there than anywhere else."

Also in Java Today, it's a busy week for NetBeans news, with three significant announcements already this week. The NetBeans IDE has won its third Mobile and Web Development Tool Productivity Award from the Jolt awards, the fourth straight year of NetBeans wins at the Jolts. The team has also released NetBeans 6.5.1, a minor update which includes December and January patches and replaces GlassFish v2 UR2 with GlassFish v2.1. Finally, they're putting out a call for participation in the NetBeans IDE 6.7 Community Acceptance Testing program (NetCAT) program.

Sekhar Vajjhala talks migration in today's Weblogs. In
WebLogic to GlassFish : Sharing classes using APP-INF he writes, "WebLogic applications can use APP-INF directory to package classes in a .ear file and share them between J2EE/Java EE modules. However, APP-INF is not a Java EE standard and is non portable. Here is a tip on how to migrate to GlassFish."

Harold Carr presents Notes/slides from my Metro, Jersey, GlassFish, OpenESB, OpenSSO presentation at UJUG. "On Thursday, March 19, 2009 I presented a quick overview and roadmap of Metro, Jersey, GlassFish, OpenESB, OpenSSO at the Utah Java Users Group. Here are my notes from the meeting and my slides."

Next, in JAXB : web.xml : dtd and xsd classes generator, Sebastien Dionne shows "How to use JAXB and Maven to generate java classes from dtd and xsd. I'll use the web.xml as input. WebApp version 2.2 to 3.0 are supported."

In today's Forums, rwillie6 could use some help Debugging Glassfish CPU usage. "I'm trying to determine the cause of elevated CPU and Interrupt / Context-switch activity on our application server that occurs at non-peak traffic times and at times causes the application server to become non-responsive. Munin graphs of the CPU usage and Interrupts / Context-Switches are attached. These spikes are odd because they occur during non-peak times and do not resolve themselves. So far, the only solution I have found is to restart glassfish, which usually makes the problem go away for 8-24 hours. Sometimes, these spikes do not affect load times, but sometimes the spike is more severe and the application server becomes non-responsive."

mahrer wonders what steps are required for webservice development, in
WSDL first - wsgen not creating classes from defined WSDL schema types. "I'm doing WSDL first development and using wsgen to process the @WebService / @WebMethod annotated endpoint. This produces the request / response wrapper classes but no JAXB artifacts like the types declared by the schema, fault types etc. Do I need to run a JAXB compiler manually in order to get these artifacts??? For example the service endpoint needs to throw the exception that has been defined to indicate a fault so it needs the Java class for this exception. At the client side the wsimport tool is run which creates the all the types as described by the WSDL so why not wsgen?"

Finally, diegobenna chooses to bust out the all-caps to announce that
JAVAFX HAVE A NEW FANTASTIC LAYOUT MANAGER! "I find a fantastic layout for javafx, it is static and dynamc with Scene. You can create special indipendent rows and set all cols and rows size. Is better than java layout. You can create span cols. You can set grow in vertical and horizontal. You can set alignment and other. It is user friendly and simple to use for all. Is easy create form and panel with this layout. Its name is DigLayout. For tutorial and samples..."

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Getting your favorite dynamic language on the JVM