Showing posts with label or. Show all posts
Showing posts with label or. Show all posts

Monday, July 02, 2007

Distributed SCM

I have been reading about Mercurial on blogs for over a year.

I saw this on Dan Creswell's delicious.

Good stuff - I have lived similar pain - who hasn't. Anyhoo, I want to try it - I want to do a million other things, but I just can't work any harder w/o snapping! I wish there were more hours in the day, I must find more ways to get more done.

Anyhoo, this link sucked me into Rockstarprogrammer blog. Nice blog and what not.

Hey look, it isn't just me, Hibernate is hard. Rockstar dude (Dustin) explains it exactly. But it is too late, his project is likely over committed to it and he'll just have to fight to the death on the next project to avoid it.

As if you didn't know, I think OR tools are awful. I think they open Pandoras Box on anything but simple projects. You want a cache? Get a cache! You want object to relational? Suck it up and write SQL. Don't mix these concerns.

Sunday, June 24, 2007

OR - ActiveRecord

Via Bill de hOra I saw this: this on ActiveRecord at Twitter.

Couple 2-3 quotes:

One major downside of having an object-relational mapper is that you don't always control what goes on behind the scenes.

This pretty quickly brought us to an obscure corner of the ActiveRecord source (three cheers for source code!), where it became apparent that Rails was doing these gigantic loads from the database every time we saved even a single field in a related object. There are a bunch of mitigating circumstances that mean that this bug doesn't get triggered all the time, but it's still really really bad.

You mean insane SQL isn't just a problem with Java based OR tools?

I think Ruby is great. I think that ActiveRecord is great and do think that it has it's place.

My problem is that every time I have been associated with an OR tool (Toplink, EJB CMP, Hibernate) the exact panic described above has ensued. In my experience OR tools have been like very bad debt. They are shiny objects that make initial development a bit simpler & then make you pay pay pay down the road.

Now I don't have much information on Twitter, but I'd think that it would be the type of system that you would want to write SQL by hand for. You can either get some syntactic simplicity from OR tools and defer how the SQL gets generated (and wait for panic to ensue) to an OR tool or you can write SQL (a really simple language) and be in control.

Control isn't always required - and I am a big fan of Ruby on Rails - just sayn' choose wisely - there is more to life than concise model to database interaction.

As for the Three cheers for source code line, +1MM. Never ever use an OR tool that is not OSS. That is just asking for it.

I am going to get a breakfast burrito now.

Thursday, May 24, 2007

OR - Not

Data management professionals need to start treating their data models and database schemas as ongoing projects of real value to the organization, which need constant ongoing maintainence and evolution. They need to stop treating a legacy schema as some immutable holy text handed down by God. Database refactoring is possible and practical (hat tip to Scott Ambler).

Gavin King of Hibernate / JBoss Fame sums up why I avoid all OR tools including Hibernate. What if I want to use the full features of my database and write some real queries and not get "certified" in your OR tool? Sure databases should be refactored, but it sounds like he is nicely describing the trap of OR tools: bow to the OR tool - just make it easy, don't resist! And watch the insanity slowly begin . . .

Hibernate and their ilk impose all sorts of crap on you, get their hooks in you, and slow bleed you to death.

In experience hands, they are fine - great, got, been there, done that.

I just don't see what is so wrong with JDBC (Spring JdbcTemplate if you are feeling frisky).

He goes on:

Relational databases are an integration technology, not just a persistence technology. And integration is important. That's why we are stuck with them.

Sad, true in some places, but we certainly don't want this to be the case right?

People are spazing out the most the last year or two about iBatis - apparently less invasive. I'm sure it is. I looked at it a year ago and indeed it looked less evil. I'm just too jaded I guess ... and I just don't get what is so wrong with writing JDBC.

Via Buko Obele