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

From: Bruno Desthuilliers <onurb_at_xiludom.gro>
Date: Fri, 30 Jun 2006 12:52:57 +0200
Message-ID: <44a5028a$0$29637$>

David Barrett-Lennard wrote:
> Bob Badour wrote:

>>However, a declarative set-level language specifies what to do at a much
>>higher level often making the similar optimization a task of algorithmic
>>choice rather than algorithmic replacement.

> Spot on.
> I agree with all that you say, and think there are lots of OO
> programmers who need a good swift kick up the backside.

Lol ! Alas, Bob tends to confuse "backside kickup" with "nuke"...

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

FWIW, I think this is just impossible. Computers are imperative. You need to tell them *how* to do anything. But I wholefully agree that, as application programmers, the less we have to worry about the how (given it is efficiently handled by well written, well test lower level code), the better.

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

And that's what I try to do with Python's mix of OO and FP - having my objects expose an as declarative as possible API, and keep most of the imperative stuff where it belongs, ie in the implementation.

> 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.

Or just worry about compliance with the current PHP-directed buzzword...

bruno desthuilliers
python -c "print '_at_'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb_at_xiludom.gro'.split('@')])"
Received on Fri Jun 30 2006 - 12:52:57 CEST

Original text of this message