I’ve been wrestling with this for a while now, and I’ve finally made my peace with it. I’ve decided to remove native support for ActiveRecord from Mack. From now on it’ll be DataMapper by default, out of the box. This was not an easy decision to make. Essentially it boils down to one of the key tenants of Mack, use the best of breed technologies to build a best of breed framework. I truly feel that DataMapper, especially when it hits the 0.9.0 release, is the best ORM, and persistence, system out there. I also feel that it is a natural fit for the Mack framework.
The other reason why I made the decision was time. It’s very time consuming to constantly maintain two different, and with 0.9.0 extremely different, ORMs. There are plenty of features that I could’ve done faster, had I only been supporting the one ORM.
Now I know I might come under fire from some people for this, but it’s a decision that I think is best for the framework. If some enterprising developer out there wants to build a plugin, or a gem, that adds ActiveRecord support, then I’m all for it! Please do!
The question you’re probably asking yourself now, is when will this be happening. It’ll be happening in the next release of Mack, probably the end of this week or the beginning of next week.
Again, I’m sorry for those of you were hoping to use ActiveRecord with Mack. Check out DataMapper, I’m sure you’ll be happy with it.
Comments?
Mark Bates wrote:
> Again, I’m sorry for those of you were hoping to use ActiveRecord with
> Mack. Check out DataMapper, I’m sure you’ll be happy with it.
>
> Comments?
Do you want your framework to be the most popular one or the best one
out there?
If you want it to be the best it can possibly be, then you made the
right choice.
Sincerely,
Antonio
PS: I say this despite the fact that ActiveRecord has IBM support for
DB2 and DataMapper currently doesn't.
- --
http://antoniocangiano.com - Zen and the Art of Programming
http://stacktrace.it | http://math-blog.com
http://twitter.com/acangiano | http://flickr.com/acangiano
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkgaM/kACgkQqCqsu0qUj9TpggCfTEnIVo3mgsJdABpXeguq0GKh
TG8An1lQo7Q5uno8XOI6chgWOP6Yoagp
=Mmwv
-----END PGP SIGNATURE-----
As for unsupported adapters, give DataMapper time and it'll get there.
With the big rewrite they're doing it'll be easier for those adapters
to be built, and I think people will build them.
I know I've made the right choice. I feel good about it.
--------
Mark Bates
ma...@markbates.com
617.512.7534
http://www.thebluewires.com
On May 1, 2008, at 5:19 PM, Antonio Cangiano <acan...@gmail.com>
wrote:
--
makoto kuwata
First off, there's speed. DataMapper is ALOT faster than ActiveRecord.
That's a HUGE part of the basis of Mack, speed. Then there's the code
and the framework itself. I feel as though DataMapper is being written
by database guys, and not developers who happen to know databases,
which is how I feel ActiveRecord is. There's things like support for
compound primary keys, the identity map, it's 'syntactic sugar' in
respect to things like building queries, to name a few. The upcoming
0.9.0 release of DataMapper is re-focusing DataMapper to be more than
just an ORM, but to be a 'persistence' framework. The database just
happens to be a way to persist something, but it's not the only way.
Other languages and platforms have moved on to the idea of
persistence, but ActiveRecord/Rails hasn't.
I have other issues with some of things that ActiveRecord does,
including a dangerous little method that bit me hard once, a method
called, disable_referential_integrity. The fact that they even had
that method, and that it was turned on by default, did not make me a
happy camper. There's things like that that have pushed me away from
ActiveRecord. There are things that it has done well, that I'll miss,
for example the has_many :through, which DataMapper doesn't do,
currently.
If you haven't seen it, this video is a great intro to what DataMapper
0.9.0 will be: http://mtnwestrubyconf2008.confreaks.com/04katz.html
I am slightly concerned that I might be alienating people from Mack,
because I won't have native ActiveRecord support baked in, but I would
like to think that, in the end, it's the best thing for the framework
to pick the best technologies out there and to optimize for them.
-------------------------------------------------------------------------------------------------
Mark Bates
ma...@mackframework.com
http://www.mackframework.com
http://api.mackframework.com/
http://github.com/markbates/mack
--
regards,
I would love commit-access, if you're offering. I would like to think
I have a few things to offer to the project, God knows over the years
I've really wanted to patch AR. Also, if you'd like to commit-access
to Mack, just let me know.
Keep up the good work.
-------------------------------------------------------------------------------------------------
Mark Bates
ma...@mackframework.com
http://www.mackframework.com
http://api.mackframework.com/
http://github.com/markbates/mack
--
regards,
makoto kuwata