Re: Wishing trolls away

From: Anthony W. Youngman <>
Date: Fri, 14 May 2004 00:31:29 +0100
Message-ID: <>

In message <>, Lauri Pietarinen <> writes
>> Yes, I think you are right that the integrated environment is one aspect of
>> the reason, but I have used Java with an MV database and it provides most of
>> the same advantages that way.
>So what do you think the "magic formula" of Pick is when comparing
>to SQL? Is it one spesific feature, or is it a set of features?
>To put it another way, what should be added to SQL to give it
>the same advantages?

Several advantages.

Firstly, there is no *need* to abstract stuff when you're implementing it. (And I would say you *should* abstract it when designing the database, because you *should* normalise your data!) So your physical database structure maps fairly closely to the real-world physical structure, and the whole thing is a lot easier to grasp in your mind. There's none of this clutter of tables and views and all that - just a roughly one-to-one correspondence between real-world objects and their equivalent database object.

Secondly, there is no requirement that the data query language and data update language be the same. Seeing as they're meant to do different jobs, why on earth try and force them into the same mould? Dick Pick did to do that, but gave up when he found adding the update features just caused the complexity to explode.

Thirdly (and this is the "give him enough rope to hang himself" thing) Pick is *strongly* *untyped*. EVERYTHING is, physically, a variable-length string. And tied into this, the dictionary (table definition) is an *optional* *description* of the data - not a prescription. Okay, this does mean undisciplined programmers can create one hell of a mess, but it doesn't throw arbitrary restrictions in the path of competent programmers.

The result is a system that is easy for end users to program. The guys that are designing *and* *implementing* the system can easily be the guys who, in other shops, would be the end users! In my company, the team who *wrote* most of our systems were half professional programmers, half professional end users. And it showed - both the good and bad sides ...

Would you let (or even expect) an end-user to write SQL database queries without fancy tools to help? We *expected* our end users to do the equivalent in Pick ...

So if you're asking what needs to be *added* to SQL, I think the answer is obvious - nothing! SQL needs to be thrown away and you need to start again from scratch!


Anthony W. Youngman - wol at thewolery dot demon dot co dot uk
HEX wondered how much he should tell the Wizards. He felt it would not be a
good idea to burden them with too much input. Hex always thought of his reports
as Lies-to-People.
The Science of Discworld : (c) Terry Pratchett 1999
Received on Fri May 14 2004 - 01:31:29 CEST

Original text of this message