Why do people use always?
Sorry, I just have to get this off my chest. This article just irritates me in so many ways. Just in case the subject hasn't been beaten to death enough, this bright guy decides he is going to add his 2 cents by saying that we should ALWAYS use stored procedures.
I don't have the time or energy to beat up on the article as I really want to but go make your own conclusions. The only part that I feel obliged to pick on is this:
Perhaps the biggest advantage to the "database-as-API" approach is the reduction in coupling that can be achieved between the object system and the database it uses as a back-end.
Putting an explicit API where it does not belong is the worst kind of coupling there is in my opinion. Creating hard coded stored procedures for Inserting, updating and selecting of data where columns are explicitly mentioned has to be the most maintenance intensive mechanism to bind and object to its persistance store. The proof of this is how many toolkits and frameworks there are that auto generate this code!
Anyway, to each his own. Let's just say "always" is a poor choice of words.