Re: Bob's 'Self-aggrandizing ignorant' Count: Was: What databases have taught me

From: Marshall <>
Date: 30 Jun 2006 08:35:00 -0700
Message-ID: <>

David Barrett-Lennard wrote:


> However, in certain domains I choose C++. I may spend lots of time
> away from the code editor developing highly tailored imperative
> algorithms that are provably correct, and then carefully implement to
> get the best possible performance. This can be justified in some
> areas of systems programming where you are confident that the problem
> is well defined, you've done a proper analysis, and your tailored
> solution will stand the test of time.

C++ is a perfectly reasonable choice for that sort of work. However, what I find, well, sad really, is how our ability to reuse code is so poor, that all that hard work you did benefits you and you alone, and every *other* programmer in the world, even if working on the exact same algorithm, has to write it over again for himself.

With a sufficiently smart platform, it would be possible at least sometimes that such work could be shared among different declarative code. The low level C++ imperative implementations of the world could be harnessed with a generic, relational interface, such that at least manual algorithmic choice would be enabled.

> However, I don't think declarative approaches will ever completely
> displace imperative approaches.

It is, I believe, an open question, and likely to remain so for some time.

> But let's see more declarative code
> than we have now.

For sure!

> There seems to be a lack of science going on. For example, what work
> has been done to determine whether a given algorithm is best
> represented declaratively or imperatively? In my (limited) reading on
> comp.object, I haven't seen anyone discuss such an important question.
> Instead everyone seems to hand wave with all too generic, meaningless
> statements.

Alas, thas has been my experiece as well.

Marshall Received on Fri Jun 30 2006 - 17:35:00 CEST

Original text of this message