I think Sean puts it very eloquently.
For me, it's a constant and pleasant surprise how easy it is to do things in Ruby and Rails that can just be a chore in any other languange and framework.
Here's to more to pleasant surprises!
So having followed (most of) the 5 or 6 links in your post, I think I understand the point you are trying to make. It seems to be: "there are a number of things RoR provides out-the-box, such as an Active Record class, and so it's easier to use than C# and .Net". Is that a fair summary?
I'm curious to know what sacrifices have made to achieve this simplicity. For instance, can you join a few database tables together in your query? And are you able to put your database access through stored procs instead of using dynamic SQL? How much control do you have over transaction boundaries? And what about other data sources - can you manipulate a message queue or an Active Directory through code just as easily?
I'm not trying to be Ruby-basher, please understand. I don't know much about RoR but would like to understand the trade-offs that were made in its design.
Cheers,
John
I'm very keen too. I did a 'day on Rails' and it's extremely easy to do things like simple 1:M relationships but it balked at even simple things like:
Customer has one Business Address
Customer has one Delivery Address
Both Business and Delivery Address are instances of Address. In RoR it's very easy for Customer has Address but when you have 2 instances you have to lift up the covers and hack around with foreign keys etc. This was day 1.
Andrew are you at the stage of moving away from scaffold? I've heard that the hard core RoRers move away from scaffold when you really roll your sleeves up...
Like John, very interested in the kinds of things you're doing and what particularly is helping you that other frameworks don't...?
thanks,
JRH
Hey John, Julian - thanks for the comments.
Ok to cover your points:
John - yeah you've hit the nail on the head with your summary. I think your questions are very valid and I think will make a valuable post, so bare with me and I'll answer those in a post shortly.
Julian - Yes I've been doing Rails work in my life outside CGO for about 6 months now so starting to "GET" it I guess and certainly using the nuts and bolts of it after the inital Scaffolding excitment ;-). What I've found it incredibly good for is getting an initial idea up and running very quickly. It also fits well with Agile development techniques with TDD at the centre of the Rails development process and also the multitude of great plugins available (http://agilewebdevelopment.com/plugins). Also with the release of Rails 1.2 it gives you RESTful resources which is very powerful in this age of "Everything as a service", with 1 line of code I can turn a model such as in your examples Business into a REST webservice.
Following on from this post both John and Julian posted interesting comments. I'd like to address
Ok. It feels like I'm heading on something of anti .Net direction recently, but I'd like to assure