From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gegeweb.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: GNAT GPL is not shareware Date: Thu, 8 Jan 2015 17:54:13 +0100 Organization: cbb software GmbH Message-ID: References: <87bnmetex4.fsf@ludovic-brenta.org> <79f3eff7-2b45-40ae-af94-fa9a17426d82@googlegroups.com> <87bnmd8mg2.fsf@ixod.org> <19cf9bc2-f8b9-4735-b427-7b070dda59da@googlegroups.com> <1otenmcbgnvlt$.dn9361nl2jm8$.dlg@40tude.net> <8ryfky4awox2$.q2gfw4pvsgau.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: F0bZVcKBguFJO8b9hCfgbw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:24482 Date: 2015-01-08T17:54:13+01:00 List-Id: On Thu, 08 Jan 2015 15:17:15 +0100, G.B. wrote: > The same setup could be used for a database of Ada identifiers > and possible relations among them, since each of the identifiers, > as the word "identifier" says, denotes identically one element of > the universe of named things that an Ada source establishes. This is obviously wrong, since units can be instantiated, recursively used, objects have scopes and life time. Which "Universe" you mean for an identifier X declared in a body of a task type? >> Relational algebra (RA) can be implemented in Ada. No problem, > > You *are* naming the problem: > > It is: "reinventing wheels", as I said. No more than other container types are. Relational table is a container. There is nothing special about it. There exist both more complex and more useful container types. RA, to build a programming paradigm upon, is known to be unusable. Which is the rationale behind Randy's empirical conclusion about databases. > The point is that relational > problems can be solved easily whenever a language defines the means > of directly expressing relational items. Another point is that relational problems are not domain space problems. RA requires bending original problems into a very narrow framework of techniques, inefficient and counterintuitive. > OTOH, if that's > difficult to do in Ada, then a reusable implementation seems preferable > to compilers' idiosyncrasies except for the reasons listed. DB models have practically zero reuse and are extremely unmaintainable as compared to other software. That is because DB design focus on raw data, rather than on higher level entities. >> Relational algebra does not deploy universally qualified expression. > > Every selection is from the next universe, all of it. What definition > of the RA equivalent of FROM are you denying? I don't understand. What is FROM for Ada identifiers? >> A simple counterexample is spatial neighbour search (kD-tree). > > A counterexample is usually a technique for invalidating > a general statement, but there is no general statement > about Relational being Whatever in *every* situation. > Relations are just being used in compilers, and in ASIS tools. Relations are used everywhere because they are in the foundations of mathematics. RA as a computational model is a totally different issue. Its implementation in RDBMS is yet another. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de