Ruby on Rails is proof, complex web applications don’t have to be complicated. Big kudos to David Heinemeier Henson and the Rails committers. Thanks for the wake-up call. The question is, what do we do with Java now? In the long run, what matters is whether the developer community at large is going to learn from it and adopt it or whether it is going to dismiss Rails as a fad. Here’s the good news: Java community is no fool, it is learning and it’s learning fast. I was at JavaOne 2006 and here’s why I think Java will learn from and adopt to Rails. Like me, you can be a huge Rails fan and a die-hard rubist, but you can not deny the ubiquious Java ecosystem, nor can you deny the great innovation that has come from Java’s cross platform enterprise environment. At the risk of sounding like an apologist, I hereby claim that Java will learn from Rails and take it to the next level. Enough claims, here’s my list of reasons:
- Groovy (Java Virtual Machine’s scripting language) has the benefits of Python and Ruby, such as duck-typing, closures, method-missing, builders, etc. plus the big advantage of running in the highly optimized Java virtual machine, enjoying HotSpot technology and native threads. With the advent of scripting languages support in the JVM with Mustang (Java 6). Groovy will get a big boost in performance — all the productivity minus the interpretation. Whether Ruby enthusiasts agree or not, there is a huge performance gain in running within an intermediate language such Java bytecode. As far as I can see, there is not much information on Ruby 2.0 and it’s VM. Mustang is open, it’s on track, and it will be delivered this year. I sure hope Ruby 2.0 is chugging along, but I just can’t find any evidence online. My money is on Mustang.
- Grails, the Rails copy-cat for Groovy, is onto a great start. Graeme Rocher is certainly embracing the Rails conventions while staying pure to the Java platform by embracing Hibernate. At version 0.1, it’s already looking pretty darn impressive. Not a Rails alternative, mind you – but a great start nonetheless. RIFE and Trails deserve an honorable mentions for highly productive Java environments.
- What is the biggest advantage of Rails? For me, it’s convention over configuration; not having to write all the darn XML files that only describe the obvious. Good news: The era of useless descriptors is over. EJB 3.0 sports smart defaults. In essence, it follows the Rails convention over configuration paradigm. You no longer have to describe the obvious. As far as I am concerned, the biggest advantage of Rails over Java has just been deprecated. With that said, I still think Ruby on Rails has many other advantages over Java. Ruby’s dynamic nature and all the flexibility that it makes possible, such as open-classes, meta-programming and Rails plug-ins. RJS templates, fast and simple automated testing, and Rake are some of my favorites that have not made it to the Java world yet.
- Last but not least, Java will be open-source. I was there when Rich Green said so. My Ubuntu Linux will have a .deb package for Sun Java. Java will no longer be Sun propeitory technology. There will no longer be a need for spending life on open source alternatives such as Mono or even Ruby. Java can re-unite the open source community.
The point: Rails is wonderful. Ruby is fantastic. Java will adopt and take Ruby on Rails to the next level. That’s a few months to a year down the road. I am not holding my breath for Grails, Mustang or open-source Java. I love Ruby on Rails and I will continue to use it. But I will keep my eyes and ears open for what Java will become. You should too. Until then, viva la Rails.

Related Articles
Family2.0Famiva is live, FINALLY! (March 21st, 2007)No user responded in this post
Leave A Reply