The Next Big Thing (Ruby, Rails, AJAX)
Every now and then The Next Big Thing on the Internet is being advertised. And indeed, the press coverage and number of followers is growing, big companies are making big announcements. I get nervous - is this something I better take a look at? Is my knowledge portfolio of Java and Swing becoming obsolete?
After reading the documentation and working through a couple of tutorials I can report: relax. While some aspects are nice, there is nothing really new under the sun.
Ruby is an OO-oriented scripting language, and Rails is a web application framework built on Ruby. Quite a number of people praise Ruby for its simplicity, getting rid of the supposed strictness and rigidness of Java, and compare it to Perl and Python, but with a better OO-feel.
This is when my alerts go off: while I like Perl very much, its lack of type checking and a number of other "strict and rigid" features make it a huge pain in bigger applications. In that regard, Ruby is just the same. While the OO-features are excellent, the lack of compiler checks might become a problem with larger applications with many 1000s of lines of code.
Rails is cool, too: it indeed is possible to hammer together a DB-based web application in no time at all. Provided you're happy with the Rails framework, which gets 80% of the work done in very little time. The other 20%, that you might not need, can be a problem, though: you'll have to dig as deep into the framework as you'll have to with other technologies.
Same with AJAX: It helps to get a more local-GUI like feeling with Web apps, but the whole thing is a huge JavaScript, HTML DOM, and XML contraption that makes me wonder why people don't just use a Java Swing client.
If it is so painful to use HTML and a Web Browser to create an application that is easy to use, responsive, and optically pleasing: isn't that a hint that maybe you're trying to achieve something with the wrong tools?

