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.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!seas.gwu.edu!mfeldman From: mfeldman@seas.gwu.edu (Michael Feldman) Newsgroups: comp.lang.ada Subject: Re: A Pascal Subset of Ada (was: Why Ada is Failing Socially) Message-ID: <3377@sparko.gwu.edu> Date: 26 Jun 91 03:24:22 GMT References: <1991Jun25.022849.18078@jpl-devvax.jpl.nasa.gov> <1991Jun25.201958.13285@netcom.COM> Reply-To: mfeldman@seas.gwu.edu () Distribution: comp.lang.ada Organization: The George Washington University, Washington D.C. List-Id: In article <1991Jun25.201958.13285@netcom.COM> jls@netcom.COM (Jim Showalter) writes: >>One of the biggest mistakes of AJPO (or whoever made the decision) was to >>disallow Ada subsets. I think they should have allowed ONE subset, >>corresponding roughly to Pascal and including packages. > >There was no need--Modula-2 already existed... ;-) Well, not quite. Wirth's first edition appeared in 1982, contemporaneous with the Ada standard-adoption process. M2 was little known till the 2nd ed., at least a year later. Having translated a book _from_ Ada _to_ Modula-2, I can say from hard personal experience that Modula-2 is really Ada-- :-). Seriously, the biggest differences (other than the lack of generics) are: 1. Ada guarantees pointers initialized to null, M2 does not (BIG convenience). 2. Ada allows multidimensional unconstrained arrays, M2 does not (BIG convenience in writing matrix handlers). 3. Ada does not restrict the return type of a function, M2 has the outdated Pascal rule restricting function returns to scalar types. (BIG convenience for those who like functional notation). 4. Ada does not restrict the form of a private type; M2 restricts it to pointers (BIG convenience for those who believe that use of pointers should be limited to linked structures, by and large). 5. Ada allows overloaded subprogram names, M2 does not (e.g. the I/O library in M2 has WriteInt, WriteReal, WriteString, WriteCard, WriteFoo, WriteBar, etc. etc. In Ada you can call them all PUT). M2 has substantial portability problems, by the way. Especially in the libraries. As for the "Pascal subset + packages" issue: both TeleSoft and Janus/Ada sold "incomplete" implementations for years. Essentially, both were missing generics and most of tasking. As far as I know, DoD never complained. These systems were quite readily available and in wide use. My department trained HUNDREDS of students on the TeleSoft VMS and VM interim systems. So let's get the facts straight. No, DoD wouldn't VALIDATE a partial implementation, but the assertion that DoD squelched these is just plain BS. Only validated (or at least validatable) compilers are currently being sold because that is what the market demands, including educators. Please, guys - validation (or at least validatability) is a part of the Ada culture most of us wouldn't give up. I'd love it if the behavior of compilers for other languages were as dependable as it is for Ada. [By "validatability" I mean a compiler that has at least passed the current ACVC in-house, even without a DoD site visit. This is enough for me. The site visit is EXPENSIVE. I will take the word of a vendor unless he is proved to be lying. DoD can't afford to, which is why they use the 5-sided certification mark these days. But it's quite legal to sell a compiler called Ada, even if it doesn't carry the mark (has been since '88).] By the way - "subsets" will be effectively a part of Ada9x, in the sense that there will be a core language with "annexes" containing e.g. realtime, info. systems, graphics, rep specs, etc. Not all compilers will be required to support all annexes. So the subset fans will get their way in the end. (Of course, they may STILL argue that the _required_ subset is too big, but some people are impossible to satisfy...) Mike