Picture of admin

The Debate Rages

  • Posted By admin on April 06, 2005

It seems that I’m being propped up as some kind of poster boy for Rails hysteria. I would have everybody re-read the “Conclusions” paragraph of my original post, which states (to paraphrase myself): This Rails stuff if really nifty, surprisingly efficient, and I had a lot of fun working with it, but I’m not quitting my managed-languages day job any time soon. For those of you who wish I had said something more controversial, I apologize, but I’m not all that controversial in real life (my wife and business partner would both describe me as conflict-averse).

Secondly, I wanted to respond to Keith’s comment below, but I wanted to do it up front here on the main blog, because it speaks to something important and I don’t want it buried. Here’s Keith’s comment, in it’s entirety:
My issue here is the public has no way of judging the merits of this comparison, and I highly suspect there are fundmental architectural differences between the two versions that account for at least a decent portion of the LoC differences. In other words, you’re not entirely comparing language vs. language here, you’re muddying it by comparing development frameworks and architecture. You’re also not attempting to explain where the Ruby version saves and the Java version bloats, and why.

I wouldn’t doubt it if the Java version was overengineered to begin with. But it’s all speculation at this point. What I read is hype in support of your next book. That’s what the sigh is about.

Promote all you want, certainly, you’re doing a great job. I’d just like to see a little community contribution, too, while you’re at it.

Let me make this absolutely plain so there is no confusion: I am not involved in either the Ruby on Rails project, the Ruby language, or any book about Rails. I’m not employed at 37signals or Next Angle. I’ve never met DHH. At most, as a reviewer Dave Thomas’ forthcoming Rails book, and as Bruce Tate’s co-author on “Better, Faster, Lighter Java” and “Spring: A Developer’s Notebook”, you might say I have a friendly interest in Rails doing well because that would mean two friends of mine were doing well. But I receive nothing from having posted this story other than the wonderful discussion it has spawned.

As for contributing to the community, I have offered, again and again, to take part in any open source version of Petstore-or-something-like-it that anyone wants to organize, but at this point, I think we’ve gotten off track. Here’s where I was trying to go with this whole story, and where I think we’ve gotten lost along the way:

There are a lot of developers in the world who develop in Java or .NET or C or Perl because that’s all they know. There’s a lot of FUD in the world that says to stay away from X, or Y, or Z because it isn’t, or, my favorite, “can’t possibly be” any good. I took a gamble and tried something new, that being Ruby on Rails. I was genuinely surprised, and pleased, by the results, and so was my paying customer. That leads me to want to tell people about it, because when I have fun, I want others to have fun. It was that impulse that led me to co-author the Spring book with Bruce, because Spring is a lot of fun, and makes writing Java apps fun. (And by the way, if you don’t think writing books is contributing to the community, you haven’t seen many royalty statements. ;-) )

So I say to you: take a look at Rails. If you are writing web applications that babysit a database, and want to try a more expressive and less restrictive language than C#, VB.NET or Java, it just might be a good thing to do. If your application needs XA transactions or detailed security management, you might want to stick with a strongly-typed, managed environment with a lot of vendor support, because overall, that will be a more pleasurable experience than fighting against a tool that is ill-suited to your needs. As anecdotal evidence, I offer you this one pleasurable experience I had. Hopefully, I’ll follow it up with others.

I suppose it is also possible that every single blog post in the development blogosphere must end with YMMV, but that just seems redundant.

Comments
  1. Geert BevinApril 08, 2005 @ 06:34 PM
    Justin, I plan on doing the 'Petstore' thing with Bla-bla List (http://blablalist.com) but then for client-side Rich Internet Applications technologies (with the Laszlo version being the first one). However, it could easily be done in a similar fashion for the server-side and make both worlds join at the REST API (http://rifers.org/wiki/display/BLA/REST+API). Maybe this can make an interesting comparison base and a change compared to the traditional petstore or blog (wafer) app. If people are interested, maybe we can just organize these as sub-projects of the java.net project (https://blablalist.dev.java.net)?
  2. Justin GehtlandApril 08, 2005 @ 09:02 PM
    Geert -- I'm certainly willing to give it a whirl. Where should we start?
  3. Keith DonaldApril 08, 2005 @ 11:37 PM
    Geert -- I'd be up for this, too, demonstrating appropriate use of the Spring application framework and technologies like Spring Web Flow (for things like continuations, which you also have support for). Heck, in addition to a server-side version, we could even do a desktop version in Swing built on Spring Rich Client. Keith
  4. Geert BevinApril 09, 2005 @ 03:20 AM
    I was planning on working next week on a testsuite that validates the behaviour of REST API so that it's easier for other back-ends to provide the same behaviour. We could maybe start there? Any ideas can be put in the wiki and discussion can go happen in the forum. We can also use the java.net mailinglists if that's more comfortable.
  5. Walkin FreezerMay 03, 2006 @ 02:12 AM
    I use Firefox in Ubuntu!
  6. Health HeartlandMay 05, 2006 @ 01:43 AM
    Thanks. Updated appropriately.