Re: Mixing OO and DB

From: Patrick May <pjm_at_spe.com>
Date: Sat, 09 Feb 2008 10:35:52 -0500
Message-ID: <m2y79u5ehz.fsf_at_spe.com>


mAsterdam <mAsterdam_at_vrijdag.org> writes:
> Mixing OO and DB:
> In practise we do it all the time.
> In theory it can't work.
>
> Leslie Sanford wrote:
>
>> Newsgroups: comp.object, comp.databases.theory
>> I cringe every time I see a thread crossposted to these two groups.
>> Good seldomn comes of it.
>
> Do you have an explanation for that?
>
> Within one group, the easy way is: the other guys are so stupid.
> Let's skip 'the other guys are so stupid' in this sub-thread. I
> re-included cdt.
>
> Let's cross this divide, and behave as if it is a real border. This
> means you can't carry all of your preconceptions, and you will have
> to adapt your language.
>
> Any ideas except 'the other guys are so stupid'?

     Ah, an idealist. I love the smell of them being burned by their own side in the morning....

     Seriously, I wish you luck in this endeavor. My thoughts on this are that different approaches ("paradigms", for lack of a better term) are more suited to particular problem domains. Not particularly profound, I know. The problem seems to stem from an all too common desire, perhaps even a deep-seated human need, to identify with a single paradigm. It's the Highlander Principle in software: There can only be one!

     I'm old enough to have made the transition from client-server systems written in C and SQL (Oracle 3 and 4, no less) to OO, first with Zortech C++ and then other languages. The people I know who went through that transition are far less likely to be single-paradigm bigots than people who know only Java (damn young whippersnappers) because they have personally experienced the costs and benefits of each set of techniques and idioms.

     Working in a variety of domains (both problem and solution) seems to ameliorate single-paradigm bigotry as well. People who have spent their careers with big iron databases often lack the context to understand the benefits of other paradigms, just as do newly minted grads who know only Java. One of my favorite interview questions is "What do you like best about your favorite programming language or environment and what would you change about it if you could?" Anyone who can't think of an improvement is out the door.

     I prefer to work with people who understand procedural, relational, OO, and functional programming. The boundaries between these paradigms are not sharp -- useful techniques span paradigms. Ultimately I'm looking for a gestalt development environment that leverages the benefits of the superset of these techniques to deliver high quality software. That's the real goal, after all.

Regards,

Patrick



S P Engineering, Inc. | Large scale, mission-critical, distributed OO
                       | systems design and implementation.
          pjm_at_spe.com  | (C++, Java, Common Lisp, Jini, middleware, SOA)
Received on Sat Feb 09 2008 - 16:35:52 CET

Original text of this message