Sometimes, you’re confronted with someone who so stubbornly refuses to understand what you’re saying that you just want to cry. Let’s ignore for the moment that a lot of the hype around Rails is…well, hype. Even with that in mind, contrast the tutorial video for Rails with the tutorial video for Trails, a JSP-based framework that aims to do the same thing. Even if you completely ignore issues like scaffolding, the difference between these two videos makes me downright sad. For example:

  • Methods for properties all have to be specified manually
  • Hibernate tags aren’t generated automatically
  • Eclipse isn’t setup automatically by default
  • The WAR property file isn’t correct by default
  • The tiniest changes require a trip back to ant

It’s just ridiculous. What these people have made is a bad clone of Rails’ scaffold macro. That’s not even the point of the framework! The point is that it’s so dynamic you can easily add functionality piecemeal and check it dynamically as you go. The point is that it adheres tightly to the DRY principle. The point is that you spend virtually no time writing boilerplate code. The point is that it eschews gobs and gobs of XML crap so that you can actually focus on coding logic and presentation instead of ten miles of glue code. The video of Trails shows that Java developers either cannot solve these problems or do not believe they have a problem in the first place.

Do Java developers enjoy writing boilerplate code? Do they enjoy spending their day fixing properties files? The answer of course has got to be “no.” The alternative simply doesn’t make sense. Yet I’d say that three quarters of the video is dedicated to boilerplate code and tweaking settings. Smalltalk and Lisp developers, as well as those of other dynamic languages such as Python and Ruby, miss the fact that the appeal of Rails to many is that it provides a dynamic environment at all. Smalltalk and Lisp users in particular are addicted to live objects and the REPL. Rails, I think, may be the first time that a lot of developers are seeing this style of development. That probably has contributed a lot to its hype.

Comparing these two videos, I sincerely hope that more Java developers see the light, but watching the Trails introduction makes me wonder whether we need a drastically new approach before that happens.