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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!inmet!ishmael!inmet!authorplaceholder From: ryer@inmet.UUCP Newsgroups: comp.lang.ada Subject: Re: Good Design Strategies Date: 3 Mar 89 17:26:00 GMT References: <4622@hubcap.UUCP> Nf-ID: #R:hubcap.UUCP:-462200:inmet:124000034:000:2735 Nf-From: inmet.UUCP!ryer Mar 3 12:26:00 1989 List-Id: Please excuse the following flame on whether a given "tool" is a compiler and whether its input space defines a language. Prompted by the posting excerpted below: >/* Written 5:25 pm Mar 1, 1989 by billwolf@hubcap.UUCP in inmet:comp.lang.ada */ >/* ---------- "Re: Good Design Strategies Classic-Ada is *NOT* a super-set of Ada. Harris has also developed a >tool, called InnovAda, for true object-oriented programming in Ada >(multiple-inheritance, dynamic binding, run-time message evaluation, >and so on). Such tools generate compilable Ada code; if you wanted to, >you could have created the same code generated by the tool. InnovAda >and similar tools are preprocessors which enhance productivity by giving >the designer/programmer a powerful development and maintenance environment. >There are graphic design tools on the market which do some amount of >code generation; would you consider those to be supersets of Ada? Is "Classic Ada" (or InnovAda) an Ada superset? a. Does using it result in SOURCE programs that aren't accepted by other Ada compilation systems? b. Does anyone reading the SOURCE code have to know more than Ada to understand it? c. Does it get confused when I put some reusable Ada components into the SOURCE code (e.g. by complaining that "Classic-Ada" keywords are being used as variable names)? In the above, "SOURCE code" is defined as that which the programmer writes and the maintainer maintains, and which the design documentation describes in detail. It is the SOURCE code which contains comments that map accurately to block and variable names, types, etc. I belive that for "Classic-Ada", SOURCE code means the "Ada with extensions". Therefore, my opinion is that "Classic-Ada" is a programming language which has all the drawbacks of any other Ada superset. I'm sure it has advantages as well. Whether "Classic-Ada" is a language is not dependent on whether it is compiled in a single step, or in two steps with Ada generated in between. Current Syntax Editors and Graphic Design tools are not Ada supersets, because they are used to intially generate the Ada which is then maintained directly. These tools help *generate* the SOURCE code which is still pure Ada. If the graphics form of a program was used to describe the entire program, and the comments and documentation refer to the graphics form, and maintenance is done by modifying the graphics and automatically re-generating the Ada, then graphics would be the SOURCE code, and such a CASE tool *would* be a programming language different from Ada. I have not heard of any such tools yet. Mike Ryer Employed by Intermetrics, Inc., but speaking for myself