A common theme at The Server Side Symposium and EclipseCon this week was how to make Java more ‘Ruby on Rails’-like. RoR has made a big impact on showing how simple the development of database driven web apps can be, so simple in fact that it makes our typical multi-layered Java application approaches like almost ridiculous.
In an interview with the developer of RoR, David Heinemeier Hansson, he comments on dynamic languages in general and how they are pressuring Java to adapt and change, in that dynamic languages such as Ruby are a ‘better, faster, and free way for a huge chunk of possible applications”. This is surprising to me, as I consider dynamic languages, in particular scripting languages great for getting some simple, well defined tasks completed quickly, but they are definitely not well suited for other more complex, or enterprise-wide problems. This is the same for statically typed languages such as Java, in that if I had to read a couple of files, parse the content, sort and write out another new file, I probably wouldn’t consider using Java; I would instead use a dynamic language such as Perl or Python.
This brings me to this conclusion: given decent, full featured development tools for Ruby on Rails, could this be what it would take to encourage more developers to move to using dynamic languages? I know we are constantly hearing that developers are already moving to RoR, but I don’t buy it (yet). But if Java developers had an ‘Eclipse for Ruby on Rails’, would this make the language and approach more attractive for Java developers? That said, we still have to realize that the approaches of languages like Java and Ruby are different, and that you have to choose the tool that is most appropriate for the task at hand.