So we were about to start working on a new project at work, and everything was looking good. We were planning on using NHibernate for our data access, but today the client asked us to implement a "standard" data access layer with stored procedures.
Much like a Vietnam veteran who's suddenly reminded of his traumatic experiences in the war, i too was speechless. Not only that, i was shocked. Chills going down my spine. Didn't all those anti-war protests teach us anything? Why must we revert to all this useless violence? How many innocent developers must suffer needlessly due to these delusions? Why are the wrong people once again making the decisions?
I seriously don't get it... i've been trying to comprehend this for a few hours now, and i just can't. Now sure, i could just "let it go", do my job and not worry about it. Then again, if i were someone like that, i probably wouldn't have a technical blog and you probably wouldn't be reading my posts anyway. See, i'm pretty passionate about software development, more specifically, about trying to do it in a good way. And when i'm subjected to ignorant constraints like these, i shiver. I tremble. I get pissed. I vent.
Still, in this case, there's really nothing else we can do for various reasons i won't get into here. A "standard" data access layer with stored procedures is what they want, so that is what they will get. It's their money, after all. But still, what a stunning display of ignorance and shortsightedness. It's 2008. This myth that stored procedures are the most secure and best performing way of designing your data access layer really needs to be put to rest. I sincerely doubt that any of the much-touted benefits of going with a stored-procedure data layer is actually still relevant in this day and age. Not to mention the fact that it is simply a waste of money. There are much more cost-effective ways of developing software these days and they really don't necessarily mean you'll end up with inefficient data access. Perhaps some day, we will no longer be confronted with delusional constraints that are only based on sheer ignorance. I for one, can't wait. This might actually be one of the few good things about Microsoft's upcoming Entity Framework. Perhaps even the IT dinosaurs will start to realize that maybe ORM isn't all that evil or difficult.