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!bonnie.concordia.ca!uunet!seas.gwu.edu!mfeldman From: mfeldman@seas.gwu.edu (Michael Feldman) Newsgroups: comp.lang.ada Subject: Re: Looking for PD Ada interpreter Message-ID: <3309@sparko.gwu.edu> Date: 15 Jun 91 17:57:23 GMT References: <31357@hydra.gatech.EDU> <1991Jun14.183916.867@lonex.radc.af.mil> Reply-To: mfeldman@seas.gwu.edu () Organization: The George Washington University, Washington D.C. List-Id: In article <1991Jun14.183916.867@lonex.radc.af.mil> vanderwerkend@lonexb.radc.af.mil (Dan Vanderwerken) writes: >In article <31357@hydra.gatech.EDU> bw10@prism.gatech.EDU (WILLIAMS,BRYAN D.) writes: >>I'm looking for a public-domain Ada *interpreter* that will run under >[rest of message deleted] > >I keep seeing messages like this in this Ada group, and I keep seeing messages >about how _expensive_ Ada compilers, etc. are. A great many people out there >are asking about PD Ada compilers/interpreters but I've seen no answers. > >Do any PD Ada compilers/interpreters exist? Or are all of these people asking >the same FAQ and not getting any answers? > >I don't see how any PD Ada compilers could exist. Ada is a rather large >language and for DoD work must be periodically certified. ^^^^^^^^^ > As one who has complained as loudly as anyone about the high price of compilers, I feel obliged to take the other side for a moment. Bear with me. First, let's get some terminology straight. The word is "validated." What does it mean? First, that the compiler developer has tested the product using the current ACVC (Ada Compiler Validation Capability), several thousand programs that test conformance to the standard, and found the compiler to be in conformance ("passed" all the relevant tests). Second, that a DoD designee has visited the developer site and repeated the tests. There used to be a user fee for this of a number of thousand dollars, to defray the cost of the site visit (is the fee still in effect?) The labor to create a validated compiler, and pay the fees for the official validation process, makes creating a validated compiler expensive, and so most developers feel they should collect some revenue to offset these costs. That is one important reason that there aren't a lot of shareware or PD Ada systems out there. Essentially there are none. The only approximation is the various Unix/VMS/DOS versions of Ada/Ed, developed by New York University with DoD funding. (I can supply contacts by e-mail if anyone is interested). What good is validation? Its main virtue is a guarantee of conformance to the standard. This means that to an extent greater than with ANY OTHER LANGUAGE, one can write programs that will compile and give the same behavior under ANY compiler on ANY platform. Validation does NOT guarantee 100% portability, which given hardware differences and spots where the standard deliberately allows implementor discretion, isn't really achievable. I believe this is especially useful in the education world, where students move from OS to OS to get experience in lots of them. Try moving a Turbo Pascal program (even one that doesn't use PC goodies) from your PC to Unix to see how hopeless the Pascal standard is. (The Pascal standard is a joke.) Try moving your Turbo program to Quick Pascal, staying on the same machine. I can tell you from personal experience that it ain't easy. With Ada, you can REALLY move stuff around, as long as you stay away from machine-specific goodies (graphics, say). It works, folks. We in the Ada community expend LOTS of effort picking apart those areas of non-portability, and sometimes lose sight of the fact that validation offers a far higher degree of machine independence than has ever been achieved before. Perhaps, as C compilers mature and adhere to the ANSI standard, programs that aren't too tricky may be as portable as Ada programs ar But I have had a enough grief moving C programs from SunOS to HP/UX to appreciate what validation buys us. I still hear questions from people who used interim compilers 5 years ago like "does compiler XYZ do tasking?" or "does compiler PQR do generics." The answer is "if it's validated, it has to." Validation covers ALL of the language (though some machine-specific things like the stuff in Chapter 13 may not be tested too thoroughly, because they are machine- specific anyway.) Validation does NOT buy perfection, because validation is TESTING and we know that "testing only shows the presence of bugs, not the absence of bugs." Validation does not buy speed, either, because correctness is not the same as efficiency. "It's easier to make a correct program fast than a fast program correct." Since 1983 (my first encounter with Ada compilers), I have watched Ada compilers on VM, VMS, Unix, DOS, and Macintosh mature and stabilize very nicely over the successive versions. They are MUCH more correct, and they are MUCH more efficient. Maturity yields correctness; competition yields speed. Current versions of compilers typically have both. Someone has to pay the freight for this. The prices are still higher than for other languages on similar platforms. There's no GNU Ada (yet, though this might very well happen...). On the other hand, if you're in an educational institution, have you checked the prices recently? $149.00 for a DOS or Mac compiler is surely getting into the right ballpark. And server licenses for Unix compilers are, I think, around $1000. these days, which is higher than I wish it were but still kind-of affordable for a school, considering the number of users it would have. I believe that for multiple servers the price comes down below that. And I have heard (though not from primary sources) that DEC and Sun will provide Ada compilers essentially free to their educational hardware customers. I believe this is also the case for the IBM mainframe compiler, if the school has the right arrangement with IBM. I have used this last compiler recently, and it's quite a respectable piece of software (TeleSoft built it). Most vendors seem to be in a "be nice to the schools" mood these days. I hope this little discourse has at least provided some understanding of the issues. I'll archive it and ship it by e-mail to anyone who posts the question again. Cheers - Mike