Re: Decline of Science: Computer Science and Databases

From: Carl Rosenberger <carl_at_db4o.com>
Date: Fri, 8 Nov 2002 23:35:44 +0100
Message-ID: <aqhdph$md$05$1_at_news.t-online.com>


Lauri Pietarinen wrote:
> > We want development at all levels:
> > - More precise code at low level.
> > - More powerful syntax at high level.
>
> One of the problems with coding is that it is
> very error-prone.

In comparison to what?

Constraints are code like any other code.

The advantage of contraints, as they are typically used: - They are very simple expressions that a human can read and understand at one glance.
- They operate at a higher level with a higher priority than application code.

If you use different levels of priority within OO code, you can build up much more powerful and more complex "constraints" than with the constraints that we know from relational databases.

What you need is a clear separation between check-logic and modification logic.

   "order.customer may not be null"

is the same as

   if(order.customer == null){

      throw new ConstraintViolatedException();    }

> The idea in the RM approach is to be able
> to state declaratively as much as possible.
> We might have to add some code but
> the "dumb, stupid, boring" stuff should
> and could be generated automatically.

We invented OO programming to do more complex tasks: Object orientation tries to break up all data, all methods, all events into small, smaller, tiny little chunks, that are small enough that a human can understand them at one glance.

If you have a complex rule, your rule statement may be 15 monitor pages long and nobody will be able to maintain it.

Object orientation solves the problem.

What we need though, is frameworks and APIs that simulate the features that relational databases have acquired in the long history of data management:

Kind regards,
Carl

--
Carl Rosenberger
db4o - database for objects - http://www.db4o.com
Received on Fri Nov 08 2002 - 23:35:44 CET

Original text of this message