InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Will A Java/Ruby Co-op Occur in 2007?

Posted by Scott Delap on Jan 03, 2007

Sections
Process & Practices,
Development
Topics
Ruby ,
Change ,
Java
Tags
JRuby ,
Java SE
Ryan Tomayko recently wrote a detailed 2007 prediction on the "The Pending Ruby/Java Co-op". He prefaces the piece by stating:

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.
Java/ Groovy? by Thom Nichols Posted
why bother posting? by George Jempty Posted
Ruby's manifest destiny ? by david m Posted
  1. Back to top

    Java/ Groovy?

    by Thom Nichols

    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.

  2. Back to top

    why bother posting?

    by George Jempty

    why bother posting an almost complete rehash of somebody else's content?

  3. Back to top

    Ruby's manifest destiny ?

    by david m

    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.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.