comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Windows Ada database support.
Date: Tue, 30 Nov 2004 12:00:43 +0100
Date: 2004-11-30T12:00:43+01:00	[thread overview]
Message-ID: <1cxufyzpjc6ns.1lomm6dpfxyhb$.dlg@40tude.net> (raw)
In-Reply-To: cog6fu$ddk$1@a1-hrz.uni-duisburg.de

On Mon, 29 Nov 2004 22:05:50 +0000 (UTC), Georg Bauhaus wrote:

> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>: On Mon, 29 Nov 2004 14:07:45 +0000 (UTC), Georg Bauhaus wrote:
> 
>:> This is interfacing to "world", not to some abstraction.
>  
>: Which only supports the point that cursor might be wrong abstraction.
> 
> Aha.
> 
> Cursors are not an abstraction from the point of view of an Ada
> program.  SQL Cursors are a given part of the "world", in this case, the
> data base system. Go argue with Oracle Corp.

You are mixing abstractions and things [of the "world"]. The goal of an
abstraction is to get rid of things [by replacing them by other, abstract,
things].

>:>   See also Frank Piron's comment about implicit cursors in
>:> PL/SQL.
> 
> Wrong abstractions in PL/SQL too?

Is in your opinion PL/SQL better than Ada?

>:>: So what? As long as my application uses Ada.Database, I do not care.
> 
> Is this a motto?

As long as the goal is to have a generic data base interface.

>:> Thick abstractions leave some choices behind. This isn't always helpful.
>  
>: Surely, but statistically irrelevant.
> 
> Aha. But allow me to say, as much as I'd wish to be able to use
> a nice transparent, almost invisible interface to database system,
> I see no base in reality for saying that abstraction thickness is
> statistically irrelevant. For several reasons, and also because
> 
> - cursors do occur, no matter whether you express them behind Ada
>   abstractions or not. Working with snapshots affects performance/
>   shared resources to the point where you can no longer hide them relying
>   on some AI system to free the resources automatically so the system
>   keeps running.

This is a typical lack of abstraction. It is difficult to develop something
large, complex and concurrent using only arrays. As a matter of fact.

This is why thick bindings are so necessary. After all Ada's protected type
is just a thick binding to a chunk of raw memory. You may argue that
X'Address occur, would you?

>   Working with RDBMSs means to have influence on another program's
>   multiply shared data in soft real time! However, your program doesn't
>   control that other program, your program must be well-behaved. Show me
>   how to do this in some Ada.Databases.

The same way we program concurrent distributed applications in Ada! A
transaction is just an equivalent of protected procedure or rendezvous. For
more advanced technique you should have higher abstraction, you should go
ADT, OO, and so get rid of raw table views. Especially because there might
be data bases for which table views could be very inefficient.

> - saying that performance/resources in database systems are statistically
>   irrelevant makes me think that your perspective on DBs is different
>   from mine, and probably not just mine ;-)

Performance is relevant, but you cannot achieve it maintaining that low
level of abstraction. There is just a physical limit of application
complexity for each level. IMO, DB applications have outgrown tables and
cursors long time ago. Just look how many DB programmer positions are
offered. This is a significant indicator, that the technology is outdated.

>: Otherwise we would have no Ada and still were programming in assembly.
> 
> What has Ada versus Assembly got to do with resource consumption of
> communicating programs (Ada program <-> database program?)

It is because you present performance as an argument for using a low level
mechanism. It is a fundamentally flawed argument. The whole history of
computer development is against it.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2004-11-30 11:00 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-24 12:31 Windows Ada database support Mark Doherty
2004-11-24 15:04 ` Marius Amado Alves
2004-11-24 18:35 ` Pascal Obry
2004-11-24 19:17   ` Alex R. Mosteo
2004-11-24 19:30     ` Dmitry A. Kazakov
2004-11-24 22:32       ` Ching Bon Lam
2004-11-25  1:03 ` David Botton
2004-11-25 17:50   ` Warren W. Gay VE3WWG
2004-11-26  9:15     ` Dmitry A. Kazakov
2004-11-26 18:36       ` David Botton
2004-11-27  8:59         ` Dmitry A. Kazakov
2004-11-28  0:46           ` David Botton
2004-11-28  9:51             ` Dmitry A. Kazakov
2004-11-28 10:23               ` Pascal Obry
2004-11-28 11:03                 ` Dmitry A. Kazakov
2004-11-28 14:38                   ` Martin Dowie
2004-11-28 16:51                     ` Marius Amado Alves
2004-11-28 19:50                       ` Martin Dowie
2004-11-28 20:49                       ` Christopher Browne
2004-11-28 17:29                     ` Dmitry A. Kazakov
2004-11-28 17:47                       ` Marius Amado Alves
2004-11-28 18:56                         ` Dmitry A. Kazakov
2004-12-06 14:57                           ` Warren W. Gay VE3WWG
2004-11-28 18:45                   ` Pascal Obry
2004-11-28 19:13                     ` Dmitry A. Kazakov
2004-11-28 20:04                       ` Pascal Obry
2004-11-29  9:04                         ` Dmitry A. Kazakov
2004-11-29 10:07                         ` Adrien Plisson
2004-11-29 11:00                           ` Alex R. Mosteo
2004-11-29 13:12                             ` Frank Piron
2004-12-01 16:19                           ` Pascal Obry
2004-12-02 10:37                             ` Marius Amado Alves
2004-12-02 10:58                               ` Frank Piron
2004-12-03  2:50                               ` John B. Matthews
2004-11-28 20:36                     ` Marius Amado Alves
2004-11-29  1:40                       ` Georg Bauhaus
2004-11-29 10:30                         ` Marius Amado Alves
2004-11-29  1:28       ` Georg Bauhaus
2004-11-29  8:53         ` Dmitry A. Kazakov
2004-11-29 11:09           ` Georg Bauhaus
2004-11-29 12:01             ` Dmitry A. Kazakov
2004-11-29 14:07               ` Georg Bauhaus
2004-11-29 18:04                 ` Dmitry A. Kazakov
2004-11-29 22:05                   ` Georg Bauhaus
2004-11-30 11:00                     ` Dmitry A. Kazakov [this message]
2004-11-30 13:46                       ` Ole-Hjalmar Kristensen
2004-11-30 15:04                         ` Dmitry A. Kazakov
2004-11-30 16:09                         ` Georg Bauhaus
2004-11-30 16:07                       ` Georg Bauhaus
2004-11-30 18:52                         ` Dmitry A. Kazakov
2004-11-30 21:10                           ` Georg Bauhaus
2004-12-01  9:11                             ` Dmitry A. Kazakov
2004-11-29 12:56       ` Marius Amado Alves
2004-11-29 13:26         ` Dmitry A. Kazakov
2004-11-29 15:02       ` Frank Piron
2004-11-29 15:58         ` Marius Amado Alves
2004-11-29 18:16         ` Dmitry A. Kazakov
2004-11-30  7:14           ` Frank Piron
2004-12-06 14:48       ` Warren W. Gay VE3WWG
2004-12-06 16:29         ` Dmitry A. Kazakov
2004-12-06 17:52           ` Warren W. Gay VE3WWG
2004-12-06 19:44             ` Georg Bauhaus
2004-12-06 20:49             ` Dmitry A. Kazakov
2004-12-07  5:16               ` Warren W. Gay VE3WWG
2004-12-07 10:29                 ` Dmitry A. Kazakov
2004-12-07 15:49               ` Georg Bauhaus
2004-12-07 21:29                 ` Dmitry A. Kazakov
2004-12-08  2:24                   ` Georg Bauhaus
2004-12-08  9:05                     ` Dmitry A. Kazakov
2004-12-08 10:03                       ` Ole-Hjalmar Kristensen
2004-12-08 10:56                         ` Dmitry A. Kazakov
2004-12-08 11:19                           ` Marius Amado Alves
2004-12-08 12:51                             ` Frank Piron
2004-12-08 13:43                               ` Dmitry A. Kazakov
2004-12-08 13:41                             ` Dmitry A. Kazakov
2004-12-08 16:09                               ` Georg Bauhaus
2004-12-08 19:46                                 ` Dmitry A. Kazakov
2004-12-09 12:20                                   ` Georg Bauhaus
2004-12-09 12:59                                     ` Dmitry A. Kazakov
2004-12-08 15:58                           ` Georg Bauhaus
2004-12-08 19:43                             ` Dmitry A. Kazakov
2004-12-09 11:58                               ` Georg Bauhaus
2004-12-09 13:27                                 ` Dmitry A. Kazakov
2004-12-09 18:58                                   ` Georg Bauhaus
2004-12-10 10:22                                     ` Dmitry A. Kazakov
2004-12-10 14:28                                       ` Georg Bauhaus
2004-12-10 15:14                                         ` Dmitry A. Kazakov
2004-12-08 15:52                         ` Georg Bauhaus
2004-12-08 20:22                           ` Dmitry A. Kazakov
2004-12-09 12:12                             ` Georg Bauhaus
2004-12-09 12:59                               ` Dmitry A. Kazakov
2004-12-09 18:45                                 ` Georg Bauhaus
2004-12-09 12:22                             ` Ole-Hjalmar Kristensen
2004-12-09 14:03                               ` Dmitry A. Kazakov
2004-12-10 20:47                   ` Simon Wright
2004-11-25  2:18 ` bubble
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox