Forum OpenACS Q&A: Response to Article on ACS x Zope

Posted by Chris McDonough on
It's adherence to the existing SQL standard that's the problem, not the paradigm used to build various applications that sit upon them.

Yes, I think you've expounded on this theme before and you've made it clear that folks considering an OO approach to web development irritate you. While I don't think I want to address the invectives you've heaped on this particular marriage of technologies, I don't disagree with you when you say that SQL standards compliance is lacking across the board. It will likely never reach a stage total cross-platform uniformity, and folks within the procedural and object worlds both need to deal with it as best possible.

Zope provides a weak level of abstraction by strongly encouraging the developer to consistently compartmentalize SQL queries into methods that take arguments and return generic values. The benefit attained by refraining from hard-coding needle-like SQL statements into your haystack of app scripts is, as we all know, not completely ideal, because you *still* have to change your SQL logic when you change databases. This sucks, yes. Writing database adapters sucks, we know this. There is no magic bullet, we know this too..

But always semi-centrally compartmentalizing and defining your SQL logic as functions apart from the presentation imposed by templates is a step in the right direction in light of the fact that it *can't be any other way* due to the market realities you spoke of. Waiting for all the RDBMS vendors to "come to Jesus" on SQL92 is a waste of time. This will not happen, we all know this.

With this in mind, practically, I'd hope you guys can work out with aD some sort of abstraction convention to which you can both write that lets you maintain parity with their code without needing to do a hairy seek-and-destroy on all the places within the app scripts that the standard differs between Oracle and Postgres every time they make a release. My impression based on Phillip Greenspun's disdain in The Guide for consistently imposing this sort of abstraction is that it seems a tough political task.