Ruby Continues To Take On JSP
Posted on July 6, 2006
Ruby is a wonderful little language. And little is the key word for me. As I’ve stated before, while Java is a robust language and an excellent one by its own merit, it is a big beast with a learning curve of doom which never seems to end. While you can appreciate Ruby on its own, I didn’t really truly appreciate it untill I’d spent 2 weeks in Java-land, learning JSP, J2EE, and friends. After doing the Java thing for a while, Ruby is a breath of fresh air, refreshing and pure. Its a lot like that feeling of joy many of us had when PERL started replacing C and shell scripts, it was everything you needed minus the horrible throbbing pain.
IBM posted Crossing borders: Web development strategies in dynamically typed languages, an article about Embedded Ruby (eRuby) and Seaside, a Smalltalk (I shit you not) web framework.
Its a useful read and will get you building fun dynamic pages in minutes without all the pain of Tomcat, JSP, Taglib, and all that. If you have a Java/JSP background you’ll pick it up in about 3 minutes flat, if your never have messed with JSP you’ll have to take a little more time to learn the basic concepts but its still painless.
I will say one thing about Java, deployment of applications using JAR/WAR just plain rules. One of the major failings of Ruby on Rails is that deploying a rails app is a pain. If there is a method better than the similar PHP “Untar it over there” method I don’t know it. With a good J2EE App Server like Glassfish, you can develop your application, WAR it (its a big zip file really) and then upload that single WAR to deploy your app. It makes managing versions of your app and deploying them a dream come true. But, frankly, there are more important things in web development than the ability to deploy a single package to your app server, if its a pita to develop, who cares how you get it to the destination.
Am I ready to give up on Java and JSP? No. But the appeal of Ruby is just unresistable and I admit I’m headed in that direction more and more all the time.