I just read “Agile Web Development with Rails” by Dave Thomas & David Heinemeier Hansson.
While I haven’t encountered anyone who is actually doing commercial work in Rails, Rails is getting a lot of verbiage in the blogosphere and, since Web Technology is my life, I thought I’d spend some time getting to know Ruby On Rails.
So, for the last few weeks I’ve been reading about and writing RoR code. I got a dedicated Ruby IDE Arachno Ruby, a began reading THE Rails book.
As scripting language go, Ruby is fine, to me it “feels” like Python and I find it less desirable than PHP. But really, syntax is syntax – Ruby has all the stuff I expect.
Rails is what I would describe as academically interesting.
Based on my few weeks in the Ruby on Rails headspace, I see Rails as many things, but nothing really new or terribly compelling – at least for the kind of work that I do.
There is what certainly appears to be a rich framework of objects and functions, a collection of command line tools, a variety of code generation tools, testing utilities and the like.
The English like syntax of Ruby On Rails is kind of cool. The syntax for database relations is also interesting.
One of the primary design artifacts of RoR seems to be to impose the MVC (Model View Controller) pattern. I don’t really see this as possible in the pure sense of the concept. Web development, particularly as delivered in scripting languages, can approach MVC implementations, but not REALLY get all the way there.
But I kept asking myself “so what”?
Writing RoR applications still seems to me to be a painfully manual process. Worst still is the “feel” that RoR comes with a lot of rules and constraints and a lack of the kind of flexibility that professional developers really need.
Even the book often refers to generated code as “throw-a-way”.
ORM, DataObjects, Code Generation, Unit Testing Exception Handling, Built in Web Everything, etc – all old hat to existing web development technologies,
And the “tools: support for Rails is almost non-existent. Arachno is s good IDE as is RadRails, but nothing awesome there either.
When I first worked with ColdFusion, ASP, PHP, Java, .NET, etc. I “grokked it”.
In any event, Ruby is ok and Rails is “academically interesting” but I just don’t see what all the fuss is about. It won’t win me away from ASP.NET or PHP.
As for the book….. The book is casually written and an easy read with a walkthrough of building a sample Rails application that not only demonstrates the tools and the syntax but “philosophical process” behind RoR; which makes sense. It’s written by the creator of Rails so I suppose it gives one the feel of RoR as much as anything might.
It was a fun exercise but made me reminiscent of programming in ADA for some reason.
Anyway – back to Visual Studio !