Thursday Oct 01, 2009

JVM Language Summit inspiration

It's hard to believe that the JVM Language Summit is only a year old, and the recent second iteration appears to have been a great success.

Hopefully soon you'll be able to watch the talks online, like last year's, but in the meantime all the talk materials are online, and there are some home video style vignettes here. For a concise written summary, take a look at these short summaries of day one, day two, and day three. All the LOLs and OMGs are archived here. Organizer and JSR 292 lead John Rose was inspired by the Greats, even as sartorial inspiration was reportedly in shorter supply.

As you will hear on the Java Posse, language success comes with great responsibility: Noop take heed. This new language (No-awp) for the JVM (or the idea of one) was introduced; the dust is still settling as to whether this year's Fan is going to storm the developer world, or just its own coffee cup.

Friday Aug 07, 2009

Scala, Groovy, Ruby, Python, JavaFX, Clojure, Ioke anyone ?

For anyone interested in using the JVM to run a language other than Java, and even for those interested in how it runs the Java language, and definitely those interested in language development, the annual JVM Language Summit held in September has become the primary place to be.

You get the idea by taking a look at some of the talks from last years summit: From Clojure, PHP on the JVM, the vicissitudes of running Ruby on the JVM, to Closures on the JVM. And you will also see that you will be hard pressed to find more expert speakers in these subject areas in the industry.

And this year the format has changed to include more interactive workshops, as well as the traditional talks, to spread the goodness even more effectively.

If you're hesitating: stop it: John likes to keep this summit small and focussed, usually under 100 participants. Sign up here.

Tuesday Aug 04, 2009

News roundup

As the Janitor works through all the mail that piled up on the doorstep of the Planetarium while he was on vacation, its clear that there's some news to catch up on.

First, JDK 7 reached milestone 4, the major inclusions being the new type annotations in the language, and the backporting into the jdk 7-branch of all the features in the Java SE 6u10+ updates that make it so nifty and browser friendly.

In mobile news, JavaFX dropped an early access release of the version 1.2 SDK for Windows Mobile. You can see Terrence talking all about it here.

Speaking of JavaFX 1.2, NetBeans 6.7 did a mini-update-dotdot release to add in JavaFX 1.2 support, (yay), while slipping in a few bug fixes while they were at it.

And there was news from the multiple languages front: Charlie et al switched over the names on their paychecks while they continue to work on JRuby, and the wildly successful JVM languages summit is happening again this year.

Friday Jul 10, 2009

Scala Lifting Off ?

If you are think about adding a new language to your programming language history, then you are probably following the recent discussions about whether Scala will replace the Java language, summarized here at InfoQ and with a followup from James 'Groovy' Strachan here.

Scala is an object oriented and functional language, like many other JVM languages. Yet unlike many of today's JVM langauges is statically typed. It's been implemented on other platforms (.NET, Android) but still primarily appears to be used on the Java SE 6 VMs. It's been through a couple iterations since its first release in late 2003, and although typically Scala programs use the underlying Java APIs, frameworks are starting to appear for Scala, most notably, Lift, for web app development.

And NetBeans seems to be ahead of the curve in its support for Scala.

A nice way to see if you agree it could replace Java one day.

Monday May 18, 2009

More JSR 292: Angels and Demons

One of the exciting things going on today in the technlogy industry is the proliferation of new computing languages. Another is that the JVM is evolving to run most of them really, really well. Most exciting is how the ideas between the languages are being begged, borrowed and stolen, to the ultimate benefit of developers writing all kinds of applications. The Planetarium has long been a subscriber of the Darwinian notion that diversity spurs innovation.

So it was interesting to see that Sun's own John Rose was at the Lang.NET symposium up in Redmond last month, talking about JSR 292, which you can watch here\*, and giving an interview, which you can watch here\*, about the new work to turbo-charge multiple languages for JDK 7.

And, no doubt, participating in the sharing and borrowing of good ideas with the other attendees.

Frank Wierbicki, Dr Jython, was there too, talking about Jython on the JVM. And there was a crazy rumor that Charlie hacked up an experimental version of the JRuby compiler over the weekend to use JSR 292's invokedynamic bytecode, coming to the JDK 7 builds real soon. Maybe there will be more from Charlie at JavaOne.

\* You'll be asked to install Silverlight to see these vids. Just sayin.

Tuesday Apr 28, 2009

Java, JavaFX news round-up

Marking a mask-free return from Mexico, the Janitor returns to a pile of acivity in the Java and JavaFX world.

As Remi noted, invokedynamic, the bytecode centerpiece of JSR 292 has been committed to JDK 7, as have method handles, good job since its on the list for M3, which is the release for JavaOne. And speaking of M3 features, SCTP is now in the latest weekly build. Things are shaping up !

In JavaFX-land, some of the early developer sketpicism seems to be modulating towards something altogether more positive, as well as some unprompted feedback to rival RIA technologies. Of course the latter comparison is with the Swing of 5+ years ago: today it looks much different. And the mysterious paranormal JavaFX goings on continue. Weird.

And perhaps prompted by the release of another milestone of the PhoneME project (open source Java ME for phones implementation...), and the all-in-one Java ME SDK 3.0, the Java ME SDK team now has a group blog.

Tuesday Apr 14, 2009

Multiple JVM Languages at JavaOne 2009

It's a good thing that the work to turbo-charge the JVM for multiple languages will make it into the JDK 7 builds in time for JavaOne, because as Roberto blogs, there's another scripting showdown planned. Last year they duked it out over a Twitter client (JRuby took the prize), what should it be this year ?

There are also great sessions planned each of the contestants in the Script Bowl 2009: representing Clojure, Jython, Groovy, JRuby, Scala.

And, to better understand how these all run, and can run better on the JVM, in a dual play on 'rebirth' and a period in european history starting in 15th century Italy, where scholars were noted for their pursuit of multiple skills, as typified by Lenonardo DaVinci, John and Brian are lining up an interesting talk on the Renaissance JVM.

(Check out the JavaOne session catalog yourself here)

Tuesday Mar 31, 2009

JDK and JRE Watch

Latest in a regular series from Java SE-land is a roundup of goodies from the last week.

You probably saw that Java SE 6 Update 13 shipped last week. Despite some wild headlines, this was bugfix release with some important security issues addressed. And a notable fix of this bug in the draggable applets feature, a sign that this feature is getting more of a workout.

Next Java SE 6 Update is 14, in early access, which most notably includes the Garbage First collector to play with.

This more predictable garbage collector is one of the features of the upcoming JDK 7, of which Martin did a nice overview, including the modularity work of Jigsaw (see API doc here).

As is the multi-language support: John posted a patched Java compiler and Netbeans for people to try out dynamic types, method handles, and invokedynamic features of the DaVinci Machine Project which are due to be put into JDK 7 builds for JavaOne.

Project Coin closed its slot today. Joe has been posting regular updates on the proposals for small changes to the Java language for this project. It's a much quicker way to get up to speed than the lively mailing list.

In other language news, there's an update to the Checker framework, which is a great way to try out the current state of the Annotations on Java types JSR 308.

Alex posted an update on the bugs fixed in the Swing App Framework, and is looking for input from Swing developers. SAF is due to go into JDK 7 late August.

And, did you want to come to JavaOne for free ?

Wednesday Mar 25, 2009

JDK 7: What to expect and when

Today, Mark posts a major update to the plan for JDK 7 reiterating the feature list first announced in December, and providing a milestone by milestone plan for when to expect each of the new features to make it into the builds for you to try out.

We're currently at milestone M2, which includes the new G1 garbage collector (with some new bug fixes) and JSR 203 aka New IO APIs 2.

There should be a nice package to play wth in M3 in time for JavaOne, which will add JSR 292, with the Java language changes in Project Coin and Swing App Framework coming by fall this year.

There are some features in the feature list that have not yet been scheduled into the plan (like the modularity work in Project Jigsaw) but stay tuned, because they will get pegged to a milestone soon.

Monday Mar 16, 2009

A Twitter Client is the new Hello World

The growing chorus (amongst a cacophony) of very usable Twitter clients that use Twitter's REST API and run on the JVM, show to great effect that the Java runtime is a lovely place for a RIA app to perch.

Like Greet (start) which is build on the Griffon framework. Griffon uses the Groovy language and Swing components, and just hatched its 0.1 release.

Or the Simple Twitter Client, (start), built with the Scala language and Swing components wrapped in the Scala Swing package, as you can see here.

Or any of the JavaFX Twitter clients, Tweetbox (start) or TwitterFX, (start) built with the scene graph and JavaFX Script.

No news to those of you at last year's JavaOne ScriptBowl, but nice illustrations of why, what some may consider dull plumbing: tweaking the bytecode, modularizing the JDK, and rewriting the browser plugin benefits all RIA apps that run there, whatever their language: they run faster, start quicker, and integrate better into web pages (or pull out too).

Tuesday Mar 10, 2009

Today's multi-language JDK

It can be too easy as you reach out for the next thing, to forget what's already in your hand.

This excellent detailed article on the Scripting Framework for Java, which is already part of Java SE 6 is just such a reminder, of what we already have, even as work continues apace to turbo-charge other langauges on the JVM for JDK 7. The Scripting Framework allows engines for other languages (like the one for JavaScript in JDK 6) to plug into the platform, and provides APIs for developers to evaluate code written in other languages.

In fact, the recently released Groovy 1.6, which includes a number of new language features (like optional returns from if/then and try/catch blocks, multiple assignments) as well as some handy peformance improvements, includes this pluggability layer into the JDK built-in.

And Python 3.0 has been turning the handle on new features. It's one of the 3 official languages of Google (the language of the Google App Engine, for example), and even runs in your hand today, on certain mobile phones.

As can Ruby, via the JRuby (Ruby on Java) project. Ruby's latest feature release (1.9) in January is one of the big ticket items for the next JRuby release.

Wednesday Feb 25, 2009

JDK 7: Checking in

Whether or not you are coming to JavaOne this year, you should count having a preview of JDK7 ready for you to try. So let's check in on where the larger features on the plate are at since Mark talked about JDK7 at Devoxx in December. (And since Alex gave one of his updates).

Modularity work is progressing with proposals up for comment in Project Jigsaw.

Good stuff coming in the VM with the support to turbo-charge Java SE for multiple languages, and the new garbage collector, which made it into the latest build of Java SE 6u14.

Though not enough for some Swing developers (who might be interested in this project), we'll bring some important improvements to Swing.

Java language-wise, Joe is sifting through the small Java language proposals as part of Project Coin. Opinions still welcome. And you check out the project that will add annotations to (all) Java types by trying out the latest Checker framework.

NIO2 is tuning the new APIs for scalable IO, including the new FileSystem API, which you can get in the latest build.

Wednesday Feb 18, 2009

Turbo-charging JDK 7 for multiple languages

John's excellent post on invokedynamic is a reminder that tuning the JVM to turbo-charge multiple languages running thereon is not a task for the faint of heart.

This new bytecode instruction that compilers for other languages will be able to use in JDK 7 (and some have already experimented with in the early builds) is not the only technique that will likely make it as part of JSR 292. But this technique is the most promising: it allows programmatic control over the dynamic linking of a method invocation, which has many uses, but is particularly useful for dynamically typed languages where the type information is not held in the source code, so can only be calculated reliably at runtime.

And the DaVinci project is a breeding ground for experimentation and prototyping of this and a number of other techniques in the same vein: some of which require changes to the specifications, and some of which don't. Remi gave a nice talk on this earlier this month at FOSDEM. Those others that have a reasonable chance to making it into JSR 292, include lightweight method objects (useful for languages that have closures), and interface injection (useful for languages where types in a running JVM evolve synamically).

Friday Jan 30, 2009

Decoding the JVM, Clojure and the module keyword

If you've never dared do more that up the maximum heap size on the JVM, but have wondered which methods in your app the JIT is compiling, or have been curious about seeing what happens to your app when you change garbage collectors, you should check it out Charlie Nutter's awesome crib-sheet on some of the HotSpot JVM dials and knobs that he's been using in the quest to further improve the performance of JRuby.

And speaking of other languages on the JVM, there was an interesting interview at InfoQ about Clojure with the author of a new book on this functional language with a special penchant for concurrency. Its a language that is not object oriented (is it the past, is it the future ?), but nevertheless holds many capabilities for modularity via namespaces and multimethods.

And speaking of modularity, Alex has posted two calls for comments in regard to the modularity work for the Java language for JDK 7 in the Java language, part of Project Jigsaw. First, the problems to address, and second a statement of the requirements of the project. You read the discussions here, or get it in your inbox here by signing up to be an observer of the expert group.

Thursday Jan 08, 2009

Repeating the JVM Language Summit

Many of those who attended the first JVM Language Summit last September judged it to be a great success worth repeating.

You can see video of the talks here, like Charlie Nutter's talk on the pain, in all the dirty details, of bringing Ruby to the Java platform. Or John Pampuch on the VM optimisations in HotSpot. Examples from Cliff Click on where languages from Scala to JavaScript can take advantage of optimisations in the JVM. Watch the creator of Maxine describe this Java-VM-in-Java which, amongst other things, optimizes its own JIT with the application its running. Or James Gosling on how the JVM spec was born.

Hope there's another one this year :)

A blog all about Java in all its flavors on all client platforms from smartcards to desktops and everything inbetween.


« April 2014