JVM Language Storm

I’ve been following a bit the JVM languages that are struggling for pole position in the blogosphere of late. And the more time passes the more I’m convinced that the JVM is here to stay, even if folks might not be too happy about the Java language itself.

The stability of the JVM as well as the number of different technologies and APIs that it has evolved has made it a good breeding ground for languages that haven’t had the wide level of adoption as Java. Now with a greater push to support languages like Ruby (JRuby), Python (Jython) and totally new ones like Groovy and Scala, developers can still eat their cake and have it. There are even comments that JRuby is even faster than native Ruby, taking away the JVM startup time. And NetBeans is fast becoming the IDE for Ruby development. Support for other languages is being worked on aggressively in the IDE.

The focus on stability and platform independence is now reaping off for Sun Microsystems, and I’m happily exploring my options of getting on the bandwagon of new static and non-statically typed languages. The ability to still use all these language features as well as plugin to the technologies that Java and JVM already provide is very enticing.

Scala I must say looks very advanced and promising. A friend of mine said that sometimes exploring the language frightens him a bit because of the level of new, advanced and easy to use language features which are far from being just syntactic sugar. Scala is a statically typed language like Java, but it’s feature set is amazingly richer than Java’s. It is 100% compatible with Java. There’s a lot of noise on the blogosphere if Scala might not become the next flagship language for the JVM if Sun decides to move on from Java. Whichever they finally decide to choose, it will only be further to the advantage of the Java ecosystem.

The Scala support in IDEs is not as advanced as other languages like JRuby and Groovy. Here you’ll find a plugin for Groovy development in NetBeans. I’ve tried writing a few scripts with Groovy to get my feet wet and I’m beginning to enjoy it. This is basically because Groovy is so much like Java and the learning curve is not as steep. That is good for me, who hasn’t tried Ruby or Python before. My only issue is that IDE the support has not yet gotten to the point where I can productively use it in a project. However, I’m yet to explore the Eclipse support for it. Might be more advanced.

Proposals for JDK 7 include easy integration between Java and other JVM languages at JVM level. All the better I’d say. Fingers crossed, the JVM isn’t dieing anytime soon. It’s only getting better because unlike companies like Microsoft who just focus on doing things to please developers and gain market shares, Sun Microsystems takes it time to think throught the implications of it’s technology decisions, knowing that the future is what will vindicate it.

Update on JDK 6 update 4 and NetBeans 6.0 on Fedora 8

It turns out the problem with NetbBeans 6.0 not rendering well when desktop effects are enabled in Fedora 8 has been solved at the JDK level. Just upgrade to JDK 6 update 4 from Sun. Now my NetBeans will enjoy being wobbled about.

Oh and i just discovered JavaDB (or more popularly Derby) is bundled with JDK 6. Didn’t quite notice its existence. And with the latest JDK it comes with documentation on how to use it in your apps. This is good for simple applications that need to bundle some small database to work with. Congrats to Sun.

Fedora 8 and NetBeans Problems

Last month i got a hold of Fedora 8 and upgraded my 7 installation. I’d heard about the IcedTea version of the JDK already installed in Fedora, so I decided to go ahead and install without updating to JDK 6. Much to my surprise, NetBeans won’t install with the following error

‘Assertion ‘c->xlib.lock’ failed.’ error.

and a lot more.

Changing to JDK 6 didn’t help either. NetBeans is the IDE, and not being able to use it outta the box just drove me nuts. In a hurry to use my system, i just re-installed Fedora 7 and went back to life as usual.

However, to all the folks who had also tried to install NetBeans 6 on Fedora, here is the solution to a problem that turns out to be from the JDK itself.

For sun-java5-bin:
sed -i ‘s/XINERAMA/FAKEEXTN/g’ /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/xawt/libmawt.so

For sun-java6-bin:
sed -i ‘s/XINERAMA/FAKEEXTN/g’ /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/xawt/libmawt.so

Got it from here

Also for those of us who want NetBeans to work alongside the XGL destop effects, here’s the workaround

put into the script file of NetBeans this line: export AWT_TOOLKIT=MToolkit

Here’s the source

Now let the Fedora 8 games begin