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.

Thursday Jul 23, 2009

JDK 7: Jigsaw and classpath

Developers have sometimes had to try to square the circle with the Java classpath over the years. What really is a linear model in multiple sections works for much of the time. But as applications get larger, and the dependencies between it and the libraries it needs get more complex, things break down.

Luckily, Project Jigsaw will be providing a cleaner dependency model in JDK 7 to save developers from trying to prove the impossible.

In the meantime, Joe posted a great visual summary of the three sections of the Java classpath.

Thursday Jul 16, 2009

Summarizing Java language changes for JDK 7

There haven't any changes to the Java language since J2SE 5.0 in 2004. But there are several planned for JDK 7, coming from a variety of sources (sic). Here's a quick summary:

1) Module support. Known historially as superpackages, though they are assuredly not, this promises to sit atop a variety of module systems to let developers partition big chunks of code more effectively.

2) Type Annotations. Step three in the popular annotations program, this hopes to further extend the reach of attaching meta-data to Java code by letting developers put it in more places.

3) And of course, Project Coin. The small useful changes to soothe away some of the common irritations with the langauge. The most likely handful have been picked (Strings in switch, improved exception handling, ARM blocks, improved type inference, Null safe operators, and simplified varargs), and there's another handful going through the mangle. Including some rather interesting ones for developers hoping to use JSR 292 to implement (better, faster...) a dynamic language on the JVM.

Some might be glad of that !

Tuesday Jul 14, 2009

JDK watch: Type Annotations (JSR 308)

Yesterday's weekly build of JDK 7 includes a big set of changes: more backporting of Java SE 6uX features, fixes to Nimbus, fixes to NIO2, and the like. But most notably, as planned in May, the incorporation of the other Java language addition for JDK 7: Type Annotations.

Java Annotations have been enormously successful since their introduction in J2SE 5.0, allowing a wide range of different kinds of information to be attached to source code. From signaling that tools make a variety of checks be made to your methods or classes, to the partial eradication of unwieldy deployment descriptors in Java EE (Aside: how the world turns ! The Planetarium Janitor remembers the very earliest pre-release days of in the corridors of Java EE, when deployment descriptors were property files).

In Java SE 6, JSR 269 introduced 'Pluggable Annotations' with an API for tools to be able to manipulate custom annotations of their own design.

And now, JDK 7 will allow Java Annotations to go where no Java Annotation has gone before. Read all about the project here.

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.

Thursday Jul 09, 2009

Best-kept secret in the JDK ?

If you don't have the remotest idea what it is, you should check out this paen to the VisualVM.

Tuesday Jun 02, 2009

Kicking the tires, free, on Garbage First

Just a note to clarify the terms of using the Garbage First collector in Java SE 6u14. Right now, because its still new-ish and not thoroughly battle tested, its turned off by default and intended for use to evaluate it. As you know, many people already have been doing so. Here's the command line option to turn it on:

   -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

Once the team has ironed out all the kinks (and please, let them know if you find any !), it will be ready for primetime, and will be in JDK7, where it will be available for free, no strings, under the usual terms as part of the JDK.

The Janitor is told that an earlier version of the release notes implied that you had to have a support contract to use G1. Some certainly ran with that ball and even made a topical story out of it !

Our bad. So we made the notes clearer, because you don't need to do anything special to try it out. Unless you want your kinks fixed before everyone else gets the fixes either in the next update or in JDK 7. In which case, there is nice little program waiting just for you :)

JavaOne, Day One, News

Halfway through the first day of JavaOne 2009, so much has already happened !

There'll be more about JavaFX and Java ME tomorrow, but here's the announcements about Java SE and JavaFX so far.

The Java Store
What's the thing that will allow Java and JavaFX developers to get their apps out to a massive audience ? You knew it was coming ! The Java Store doing a restricted preview of its late summer grand opening, which means you need to sign up to try it out. The front end is a JavaFX application, the backend, which also includes the Java Warehouse, where developers will submit applications that show up in the store, is a Java EE application running on Glassfish. The first iteration is for desktop applications, with mobile apps coming later.

JavaFX 1.2
Surprise ! There's a new mobile emulator, there's a long list of new cross device GUI components, layouts, support for RSS and ATOM feeds, the startup on the desktop is about 40% quicker. Try out the new samples. And there's preview versions of JavaFX on Solaris, Linux.
JavaFX on TV, as seen on an LG TV set-top box ! A new JavaFX Authoring tool ! Totally new super fast graphics stack for JavaFX. All three by the end of this year.

Java SE
Java SE 6u14 is out with the new 64bit browser plugin, and an evaluation version of the new G1 collector. The preview of JDK 7 is released (based on Milestone 3), and a first sighting of Project Jigsaw, showing the JDK partitioned into a set of small modules: jdk-base, jdk-awt, jdk-swing, jdk-tool etc that can be loaded (quickly!) with minimal dependencies.

Deja vu moment
Rewriting StarOffice in JavaFX ?

Friday May 22, 2009

GR8 time in Copenhagen

This helpful article about how the Groovy language plugs into Java SE 6, together with a nice code example of how to execute arbitrary Groovy code, came at the end of the first GR8 conference in wonderful, wonderful Copenhagen.

The talk about the Griffon hatchling looked interesting. To get an idea of where this framework that combines Groovy with Swing,  is at here's a Twitter client in Griffon. Guillaume's DSL talk was reviewed in detail, and there was lots of twittering.

Maybe there will be another next year ?

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.

Friday Apr 17, 2009

Racing to learn

Is it because of Madonna and Justin Timberlake ? Our life experiences being compressed to bursts of 160 characters ? Pecha Kucha ? Our long, satisfying URLs being reduced to a bite-sized snack ? What is it that's fuelling a proliferation of articles and blogs proclaiming a time bound learning experience for developers. Even the normally fad-resistent Planetarium has been know to fall victim !

Got 5 minutes ? Catch up on 10 years of Netbeans, create a JavaFX drawing app, learn the technology for representing Java objects as XML and vice-versa, deploy a JNLP application, write a test for Java Persistence (or go the whole hog: write a Java EE app), or create a JavaFX media player ?

How about 10 minutes ? Devx appears to be trying to corner this market, or you can buy the book, but otherwise you can take your pick from: deploying an applet with the deployment toolkit, use log4j in Eclipse, learn ant, Python, or JavaFX from saying hello, to triggers and databinding to invoking RESTful web services.

With the luxury of 15 minutes to spare on something like JavaFX, you could learn the language, or see what you can do with the graphics.

Just think what you could learn in a whole week !

Wednesday Apr 15, 2009

Swing, ImageUploader, Trees

A cute little newish project you may not have seen is the ImageUploader project over at Its a cross-platform Swing application (screenshot) for selecting images to upload, as the name hints at, complete with drag and drop from native file explorers, roll-over effects, image preview. When the time comes up upload multiple files, it POSTs them over to a URL, complete with reassuring progress indicators. Its under BSD, and even the Janitor could easily check the repo, compile it in NetBeans and have it running within minutes.

Nice, especially as an applet, if you need image upload on your website.

Of course it has a customized version of JTree. Something not commonly available on mobile phones, unless of course, you include LWUIT in your application, in which case, its relatively easy to build down off the LWUIT composite Container model and build your own, as you can see explained in detail here.

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)

Friday Apr 03, 2009

Friday fun: Pie and Performance

If you're in need of a fun way to get to grips with JavaFX, then take a look at this oddly diverting extra-sensory game-cum-viral-thingy. The Janitor isn't cool enough to really understand yet, but you need to write JavaFX code and wear cool t-shirts and figure out stuff.

And just for fun, check out who's got the bragging rights for JVM performance on multi-core servers with Intel's Nehalem chip: is it IBM's J9 or Sun's HotSpot and the $500 riding who has the best open source credentials.

Another kind of mockery that lives in fable is speed mocking predictability: here's an interesting interview on the Java Real Time System.

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


« July 2016