JOB REFERRALS
    ON THIS PAGE
    ARCHIVES
    CATEGORIES
    BLOGROLL
    LINKS
    SEARCH
    MY BOOKS
    DISCLAIMER
 
 Friday, August 12, 2005
NFJS Austin, and Rails

So I'm in the Austin area this weekend, for yet another NFJS show, except this time I actually had time in the schedule to attend the Friday night talks. (Normally I'm too busy traveling to be here on Friday--I typically need the Friday night timeframe to actually get here, which probably explains why my Saturday morning talks are always a crap shoot.)

Part of my reason for wanting to be here early was a desire to see more of Dave Thomas' talks, and in particular, I wanted to get more of the Ruby and Rails Religion that seems to be infesting... er, maybe I should say "spreading like wildfire" instead... my friends in the speaker crowd. I mean, normally they're a pretty sane and sensible bunch, and if these guys are all drinking deeply of the Ruby and Rails Kool-Ade, I want to take a hit from the bong as well and see if it's a good trip, or just a trip.

So I sat through Dave's Rails presentation, and as he was finishing up, I felt strangely disappointed--not so much that Rails isn't a cool little framework, but that there really wasn't anything more there. I mean, I see a bunch of intelligent code-generation and some common-sense defaults, but other than that it's strangely reminiscent of the servlet scene circa 1997--even to the point where Rails will reload modified scripts on-the-fly for you. Hell, if the servlet containers had been smart enough (or crazy enough, depending on your viewpoint) to do the servlet compilation for you on the fly (memory leaks in javac notwithstanding), it would be very much like what we have right now with Rails.

And yet, we didn't stay there in the servlet community once we had that kind of functionality. We found a greater need for configuration, more flexible and powerful execution models, and so on. In essence, as web apps got more complicated, the servlet/JSP space got more complex to match it. "With power, comes complexity; with complexity, comes power." I wonder if Rails will eventually find that same need, or is it always going to target the easiest/easier x% of webapps and leave the harder stuff alone?

In the meantime, am I missing something from Rails? Is there any movement afoot to create a JavaRails ("Jails"? Ew.) project that I'm not aware of? (Come to think of it, in the .NET space too, while we're at it? "Nails", anybody? :-) )


Saturday, August 13, 2005 1:39:08 AM (Pacific Daylight Time, UTC-07:00)
There is work being done in Java to create something which is simlar - it's called Trails. It essentially combines Spring, Tapestry and Hibernate, provides common-sense defaults and makes use of Java 5 annotations to make applications domain driven.

As for Ruby and Rails, take a bit of time getting to know Ruby as a language. Rails is definitely a neat framework, but it's really the Ruby language which makes it stand out. Rails does have some nice things about it. ActiveRecord is great when you need to get up and running quick, as is scaffolding. The URL mapping stuff is nice, although the same can be accomplished in other ways as well.

My initial reaction to the templating language was negative because it essentially puts Ruby code in the HTML. However after using it for a bit I found it to not be so terrible, since Ruby is a fairly terse language. It still does smell a little bad to me though.

All in all Rails is neat because you can get up and running very quickly and it's quite fun to play around with. It's got a long way ahead of it though, so time will tell whether or not the development world in general will accept Rails as a solution for larger projects.
Saturday, August 13, 2005 10:52:12 AM (Pacific Daylight Time, UTC-07:00)
That's about what I wsa thinking, Anthony, but it's always nice to get more data points.
Ted Neward
Monday, August 15, 2005 12:07:08 PM (Pacific Daylight Time, UTC-07:00)
I think that what Anthony said sums up most of what I was thinking when I first read your Rails thoughts. Rails itself isn't that phenomenal...in fact, some parts of it are quite primitive. But the fact that it's built on such a nice language as Ruby makes it more of a pleasure to work with than Servlets or any of the other Java-based MVC frameworks (including Struts and Spring).

(On that same note, I sat through Dave's Ruby and Rails talks and was actually more impressed with the Ruby talk because that's where the meat is. Rails is just a really nice framework based on an awesome language.)

The parts of Rails that really shine are the "common-sense defaults", freeing me from doing any more configuration than what it takes to point at a database. After that I don't have to mess with any configuration unless I disagree with the defaults (the plural table names, for example, don't mesh with the way I do things).

ActiveRecord is very very nice. But again, much of the credit for how ActiveRecord works can be traced back to Ruby language features. (That said, one of the Spring guys...I can't remember who right now...is creating a Java version of ActiveRecord. I'm doubtful that it will be quite as cool as the Rails version, but time will tell.)

The scaffolding is nice for getting started, but ultimately will get thrown away. So I'm not so sure how excited I am about that feature. Nevertheless, it gets me up and running with a working application (albeit somewhat ugly) in no time at all.

(Does this long comment make up for the fact that I was mostly silent during the expert panel yesterday? :-) )
Tuesday, August 16, 2005 7:15:06 AM (Pacific Daylight Time, UTC-07:00)
Ted,

Take a look at http://www.javaonsails.org for another Java attempt at Rails.

John
Tuesday, August 16, 2005 8:32:41 PM (Pacific Daylight Time, UTC-07:00)
Ted,

Having attended the conference in Austin this weekend, I can say that it was very refreshing to hear at least one person who hadn't yet jumped onto the preverbial bandwagon, as fun as that may sound.

I am glad to have attended some of the talks that mentioned Ruby/Rails, especially Bruce's session titled "Beyond Java." I really think that Ruby is going to do the same thing that .NET did for Java, and that is kick it in the butt, and force Java to innovate again.

Personally, I'm looking forward to it. It will without a doubt make Java a better language, because as we all know "What doesn't kill us, only makes us stronger."
RC
Wednesday, August 17, 2005 7:14:37 AM (Pacific Daylight Time, UTC-07:00)
Take a look at http://www.castleproject.org
Thursday, August 18, 2005 2:01:15 AM (Pacific Daylight Time, UTC-07:00)
"the plural table names, for example, don't mesh with the way I do things"

I second that!
Monday, January 09, 2006 7:16:54 PM (Pacific Standard Time, UTC-08:00)
On the question of whether there's Java on Rails, there is Trails (and perhaps others). Trails is in its infancy, though.

-- mgk
Friday, February 10, 2006 2:31:07 AM (Pacific Standard Time, UTC-08:00)
I invite you to visit

http://210.17.173.101:8080/genandrun

GenAndRun 0.2 which is a Java on Rails attempt to simplify the Java development.

Now a 3-min video demo is added hopefully to prove that Java can be EQUALLY elegant.

Oscar Lee
Xenium (Hong Kong)
Monday, August 28, 2006 6:15:40 AM (Pacific Daylight Time, UTC-07:00)
thanks
Comments are closed.