On Feb 15, 2:27 am, “Jeremy K.” [email protected] wrote:
On 2/14/07, Wes G. [email protected] wrote:
It’s an interesting phenomenon: critics poking at obvious untapped potential
in Active Record with an “if only AR did this, it would be great” mindset.
Those actually using Rails tend to be more concerned with the controller and
rendering mechanics. We have a saying sufficiently common to merit an
acronym: JDM. It Just Doesn’t Matter. AR is good enough to get the job done
and get out of our way. There are plenty of other untapped avenues to
greatness (REST was mentioned earlier in the thread), so poking around with
AR plumbing starts looking like a staid, thankless, unjustifiable chore.
In your shop it doesn’t matter. In my shop, it keeps Ruby and Rails
from even getting on the radar. I agree that mucking around the AR
plumbing is a thankless task, but it is one that would be worthwhile
to me since my company would stand to save a bundle of money through
improved time to delivery if we could afford to operate Rails apps.
As it is, even free, Rails is too expensive to operate for me to be
able to justify it, even if it does make it trivial to put together a
top-notch web app.
If these improvements are truly your number one kickass feature, by all
means pursue them. Rails has a strong track record of growth through
community contribution. I’m disappointed that these common criticisms of
Active Record haven’t turned into fixes and features like so many other pain
points have. I assume it’s because they aren’t actually painful, they just
look bad. Until you care about them more than ‘on paper’ I guarantee nothing
will change.
Yes, I could do the work. Eventually I might do it (unless someone
else does it first) but the entire Rails community would need to be
involved in establishing the standards, or it would be a mess. As I
posted earlier, there are others working on this problem already, and
they have been talking about their work on this list. I expect a
resolution within a year. However, like others, I have to spend the
bulk of my time pursuing my paid work, and right now that is Java,
xslt, C#, and COBOL.
On that tack, we need better database drivers to really do a good job with
bound args and prepared statements. Both mysql and postgres bindings are
woefully behind the times with their respective API. Neither supports their
native binary protocol, for example. But both do enough for AR to get its
job done.
JRuby with JDBC drivers should take care of that! :o)
The Fire-ruby driver (for Firebird) works very well.
The bundled mysql.rb has limped along with spotty compatibility for years
now. All of one person have stood up and worked on it. The rest of us gem install mysql
and get to work building web apps.
MySQL is good for the backing store for mostly static data for a web
app (wikipedia), but it does not meet the needs of core business
functions (large volumes of financial records) yet. Transactional
integrity is important when you are posting data that must pass audit
no matter what happens to the system. People go to jail when you get
so-called “partial commits”. When MySQL starts pushing the
Netfrastructure back end (effectively running an enhanced version of
Firebird under the MySQL API), it will have a chance to play in that
arena.
I bet this is already a lot more research than the original poster
expected to do! :o)