I enjoy developing in Ruby, and Rails. I also have gripes about its Active Record model-layer package, but on one of my contracts we adapted an existing Ruby-to-SQL Server persistence layer to Rails in a very reasonable time, perhaps a little over a day, and this included the small amount of effort we needed to integrate Active Record's validations and other features, which really aren't very dependent on Active Record, it turns out. We were surprised, there was a very low amount of hacking involved.
Yes, Active Record shows its immaturity sometimes when it gets to the harder problems, and it isn't strong on many RDBMSs yet, but that's where the fact that Rails is in Ruby starts bearing some really nice fruit. You can add major features in concise, expressive (and 100% test-driven) code without breaking a sweat.
So feel free to write your own OO-y objects that use Active Record, or Madeleine (Prevayler-style object prevalence for Ruby), or whatever for persistence. Spend a few hours integrating Active Record's validations, observers, or whatever you like, and then dig on the elegance of the Action Pack view-and-controller package, Rails' strongest point IMO.
This happened to us and RoR was broken for about a week between releases in the 0.9 to 0.10 range. Yeah. That was a "release". Not CVS, not alpha or beta. Release. On the upside, we did patch ourselves, so "go OpenSource".
Rails is still pre-1.0. I do regret the hype that leads to this kind of misunderstanding. The developers are taking the 1.0 milestone very seriously and are working hard to address known deficiencies by then. In the meantime, make sure you're ready to roll back each upgrade...
I enjoy developing in Ruby, and Rails. I also have gripes about its Active Record model-layer package, but on one of my contracts we adapted an existing Ruby-to-SQL Server persistence layer to Rails in a very reasonable time, perhaps a little over a day, and this included the small amount of effort we needed to integrate Active Record's validations and other features, which really aren't very dependent on Active Record, it turns out. We were surprised, there was a very low amount of hacking involved.
Yes, Active Record shows its immaturity sometimes when it gets to the harder problems, and it isn't strong on many RDBMSs yet, but that's where the fact that Rails is in Ruby starts bearing some really nice fruit. You can add major features in concise, expressive (and 100% test-driven) code without breaking a sweat.
So feel free to write your own OO-y objects that use Active Record, or Madeleine (Prevayler-style object prevalence for Ruby), or whatever for persistence. Spend a few hours integrating Active Record's validations, observers, or whatever you like, and then dig on the elegance of the Action Pack view-and-controller package, Rails' strongest point IMO.
Rails is still pre-1.0. I do regret the hype that leads to this kind of misunderstanding. The developers are taking the 1.0 milestone very seriously and are working hard to address known deficiencies by then. In the meantime, make sure you're ready to roll back each upgrade...
Besides, imagine what happens when someone Bluescreens national security . . .
As likely a motivation for government adoption of Linux as I've heard.