Re: Mixing OO and DB

From: Marshall <marshall.spight_at_gmail.com>
Date: Fri, 29 Feb 2008 07:06:06 -0800 (PST)
Message-ID: <6c4acef1-04ca-460f-8f84-55a4e4d98792_at_e25g2000prg.googlegroups.com>


On Feb 29, 4:10 am, "David Cressey" <cresse..._at_verizon.net> wrote:
> "Marshall" <marshall.spi..._at_gmail.com> wrote in message
> > On Feb 28, 2:37 pm, Patrick May <p..._at_spe.com> wrote:
> > > Tegiri Nenashi <TegiriNena..._at_gmail.com> writes:
>
> > > >> For one thing, it decouples the application code and the
> > > >> database schema. For another, as noted by Mr. Martin, it allows
> > > >> the creation of a domain specific language that better reflects the
> > > >> concepts in the problem and solution domains.
>
> > > > Sure Mr. Martin is working on a "domain specific language" that
> > > > would put SQL to shame?
>
> > > Do you consider SQL to be the best possible language for all
> > > problem and solution domains?
>
> > Certainly not. SQL is only good for data management.
>
> Can you help me out here, Marshall? My first take on your comment was that
> it was sarcasm. But then I thought that maybe you're not being sarcastic,
> and there's a serious thought here. I've always considered you a serious
> participant in the newsgroup.

My comment was intended to have some bite, but the bite wasn't of a sarcastic nature.

Coding in desktop applications, enterprise application, or web applications of most sorts is only about 80-90% data management, or that subset of computation that is well-handled in a purely relational manner.

> I remember back when I first started reading you in cdt. You were, by your
> own assessment, somewhat ignorant about data management at that time, a
> "purebred programmer in recovery" in my words.

That is an accurate assessment, I would say. I had about 20 years of C, C++, Java coding experience before I began to notice that SQL was worth my attention. And I had virtually no study of formal methods up to then. I have worked hard to rectify both failings since.

> My question is, "aside from data management, what else is there?"

Heavy duty computation. There are algorithms that cannot be written relationally, but that can be written with a general purpose programming language, such as OCaml or Haskell. (Or, if you are stuck, Java or C++ or Python. :-) I say that as a Java programmer.)

What would really be ideal is a general relational system with an associated Turing-complete functional language embedded. So one could do the 80-90% part in a pure declarative/algebraic way, and the hardcore stuff recursively. Of course most programmers trained only on what's popular today would recoil from such a thing, the same way kids who have only eaten at McDonald's will retch at fine Italian food.

Marshall Received on Fri Feb 29 2008 - 16:06:06 CET

Original text of this message