What follows started out as a single bullet point from a list of predictions for 2007. It somehow went awry. As such, you would do well to consider this piece with roughly the same amount of seriousness as would be given to any other tech prediction article.Java is going into 2007 with a number of interesting developments at the JVM level. November brought the official open sourcing of Java under the GPLv2 license. Sun also continued to warm to alternative languages on the JVM with the hiring of JRuby developers Charles Nutter and Thomas Enebo.
Ryan's indepth analysis is summarized here:
Java will Eventually Not Suck - Java will become more available on Linux and BSD packaging systems with the GPL announcment. JRuby will be able to run under rough performance and feature parity with CRuby.
Java: A Better C - All Java has to do is be better than C at some of the things C does now. Examples of tasks C handles today for web developers: webservers (httpd, lighttpd), language interpreters (python, perl, ruby, php), lower level support (libxml2, openssl, ImageMagik, cairo, glib). Java's advantage over C ... lack of malloc(3) and free(3).
Ruby: Just Because - If classes have a class, I'll take it over Java. So why Ruby? ... It hasn't failed yet. I mean, Jython's been around for a long time, seems to have lost steam, and the original author was hired by Microsoft for his work on IronPython ... The Perl guys are busy on their own VM ... Ruby is cool right now. I don't pretend to understand the mechanics of cool but Ruby is it - for the time being, anyway. Whether that makes sense or not is irrelevant; with hype comes real and tangible benefits.
How this plays out in 2007 - In Java land, people start taking Ruby seriously as an alternative to The Java Language on the JVM in a way that Jython, Groovy, and other dynlangs never accomplished ... Ruby's impact on the Java community will be almost entirely due to JRuby ... That is to say, Ruby's adoption by Java heads on Java projects won't have as much to do with the GPL and better packaging support as it does with the virtues of the Ruby language and the JRuby interpreter ... Suns increased financial support for, and clueful positioning of, the Ruby language in the Java ecosystem will also be critical ... By the end of 2007, much of the Ruby web development community will consider the JVM to be a viable runtime environment.
On The Other Hand - Things could be horribly different. Sun could marginalize Ruby the same way it has marginalized every other language that's tried to run on the JVM in the past. ... The Ruby community could reject Java because of its historically poor reputation among hackers. The larger Java community could reject Ruby as a kiddy language.
Other industry 2007 predictions on Ruby and Java are mixed. Yakov Fain a noted Java and Flex Expert wrote "Ruby and Ruby on Rails won’t make it in 2007 either. I still do not see a compelling reason to switch." OnJava.com's Chris Adamson however includes dynamic languages such as Groovy and JRuby on the JVM as an area to watch.
Community comments
Java/ Groovy?
by Thom Nichols,
why bother posting?
by George Jempty,
Ruby's manifest destiny ?
by david m,
Java/ Groovy?
by Thom Nichols,
Your message is awaiting moderation. Thank you for participating in the discussion.
Personally I'd prefer a Java/ Groovy co-op, just because they 'fit' better in terms of interoperability and learning curve. With Groovy's 1.0 release and projects like Grails, hopefully it will be 'taken seriously.'
Either way, any dynamic language support on the JVM will be better than none.
why bother posting?
by George Jempty,
Your message is awaiting moderation. Thank you for participating in the discussion.
why bother posting an almost complete rehash of somebody else's content?
Ruby's manifest destiny ?
by david m,
Your message is awaiting moderation. Thank you for participating in the discussion.
I don't get it. I'm sure that for blue sky projects, Ruby/RoR is incalculably better than Java 1.4 and a full blown EJB 2 solution (eg Java two years ago), but nothing stands still. Java's de facto position seems to be "the contemporary COBOL" and that is fine, considering the incredible vibrancy and size of the Java ecosystem. Ruby land seems more like somewhere for disgruntled Java programmers to go, and webblog editors to to mention to garner clicks. ;)
Ruby only seems to have one advantage compared to a language designed for maintaining large scale, team oriented projects, and that is lack of choice (which makes me envious), but even that is likely to change as Ruby grows and fragments.
Groovy is a more interesting proposition for a facile programming language since it directly leverages Java, but only if it can parallel Java going forward - if Groovy has feature X for two years, then Java adopts it but they are totally incompatible, it's just another different language and set of neat tools, like Ruby.