This is from the first page of the latest Ruby on Rails article on the O'Reilly website:
"In this short time, Rails has progressed from an already impressive version 0.5 to an awe-inspiring, soon-to-be-released version 1.0 that managed to retain its ease of use and high productivity while adding a mind-boggling array of new features."
Come on! I don't know Curt Hibbs, and I have nothing against him, but this intro is positively ludicrous. How is this supposed to be "awe-inspiring?" Does he think that before Rails we had no object/relational mappers, no code generation, no MVC, no test scripts, no dynamic languages? You'd have to ignore an awful lot of web development tools (that pre-date Rails) to think that.
But he does seem to think that. A little further down the page he says this:
"The typical development cycle for testing a change to a web app has steps such as configure, compile, deploy, reset, and test."
In what world is that "typical"? The only web development tool in use these days with a compile step is Java, and if you look at web development as a whole, there are more people NOT using Java than using it.
It's also not a very accurate list. Even Java apps don't require reconfiguration every time you change your code! And Rails doesn't remove the "test" step.
Most of the writing about Rails that I've seen seems to have blinders on when it comes to anything other than Java. It would be nice to see some acknowledgment that other dynamic languages already have this stuff, and a little more touch of reality in general. The current tone smacks of ego and arrogance. I don't see anything wrong with trying to draw in Java converts, but if the plan is to just ignore PHP, Perl, and Python, they're losing out on an awful lot of potential allies.
Re:My guesses ...
perrin on 2005-10-20T14:56:14
I think Maypole actually came well before Rails. Before Maypole, there was OpenInteract and Apache::PageKit, and of course all the others (like Mason) that aren't quite so squarely aimed at MVC apps.
It doesn't bother me that Rails is doing well. What does bother me is when these guys make it sound like they invented this stuff, and no one else has it. And, as you say, people who have never worked on large web apps seem totally willing to believe that Rails is the only thing that ever had had this stuff.
Incidentally, Class::DBI supports direct use of SQL. I wouldn't use it if it didn't. ActiveRecord doesn't seem to have anything that Class::DBI and it's optional extensions doesn't have. In fact it appears to lag behind in terms of using the database meta-data. It relies on naming conventions like mapping a class called "Country" to a table named "countries." (The DBAs I've worked with would have flayed me alive if I used plural names for my tables.)
Both of them look pretty weak compared to Java's Hibernate though, which supports a lot more table relationships, query capabilities, and caching options.
Re:My guesses ...
TeeJay on 2005-10-26T18:11:49
Before I start I should declare my vested interests - I use and maintain Maypole:)
Looking at the actual releases - Maypole 1.0 was released in Febuary 2004 and Rails wasn't released until April 2004, although development on what would become Rails was probably started 3 to 6 months before Maypole development was started.
I think Maypole is already more flexible in it's vanilla setup than Rails in it's vanilla setup.
The maypole developers need to keep an eye on Hibernate and Catalyst, as they are breaking new ground while Rails is deploying good applications.
There are several caching options available in Maypole, but I'm not actually planning to look at that until 2.12, we're focussing on ease of use before making it faster.
Also the relationships and querying in Maypole are currently closely tied to CDBI but in the next release (due early november) we have improved the model to handle more relationships more smoothly. Also in later versions other ORMs like Tangram and Oryx will provide more relationships and querying abilities.