It is not a war, not even a hot argument
First, Richard & Carl, I believe the terms belongs to you - I am going to send a triple nested cursors with Cartesian products to your database as a revenge.
Second, I am rarely the kind of guy that would simply ignore something that he doesn't agree on. I don't think that there is any slamming involved in the discussions we are having, merely an opinionated argument, and I like those because they make me think.
Kevin's mentions that he evaluated NHibernate and Active Record, and he doesn't think that they will speed up development. I would like to know why, but that is a totally acceptable stand, especially when it is given from a position of someone that tried it.
The biggest thing that seems to set the NHibernate people off is using the database as anything more than a means for object persistence. What if I want to use the flash XML features or SQL 2k5? CLR types? If you have a big expensive database damn sure use it.
Give me a use case, and I'll give you an answer, you'll be surprised how much you can get out of an OR/M when you put your mind to it.
And yes, there will be cases when I will say, "that is a valid use case, use the DB directly for that".
Not really a good approach, "Give me all the users registered last week" and see you next week.
What is really important, however, is this:
In general, I think that the discussion was being professional and educating. There were some incidents, but we are all friends now :-)
I don't like confrontational situations, they lead to violence and they I have to do paperwork, so I have a vested interest in keeping the discussion professional.
Comments
Ayende,
Dang, I feel all special now. I got my own Ayende blog post. I Don't feel that NHibernate would speed up my development process simply because I tend to think DB a little more than I think Object. At my previous job my boss was a recovering DBA and I always had to justify it by the DB and I guess old habits die hard. However I have a couple of developer friends that I suggested using NHibernate and Active Record to because it worked better for their way of thinking.
The venom comment was most about the whole CAB thing...It just seemed that everybody got way to agro about it.
And Oh, the serializing the object to the db, that was only a joke.
Don't joke, Ted Neward get a lot of mileage from telling about tools that do that, and there is an old Oracle FAQ that explains why you can't really do reporting over serialized java beans
Ayende, what about full text searching?
Ck
If I need to use the DB capabilities for full text search, then usually I will wrap it in an HQL function or a custom ICriterion , both very trivial to build.
I prefer to use the lucene integration to NHibernate, though.
"Otherwise you could just have one table in the database and serialize out your objects to and from the db. That way you never have to worry about relational data or normalizing a database or tuning a database."
There are some object databases which work in this way ... Reporting has long since been their downfall but they can be quite good so long as you follow object relations (and at the defining of simple indexes). For a transactional DB they can be great but you are pretty much assured that you will need a seperate relational reporting db ... then again I think we realize this is actually the case most of the time anyways (especially if using DDD)
Comment preview