From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 10 Sep 92 15:37:53 GMT From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!usc!elroy.jpl.nasa.gov!lambd a.msfc.nasa.gov!robichau@ucbvax.Berkeley.EDU (Paul Robichaux) Subject: Re: Compiler in its own language (Was: Re: Play 20K expressions again, Sam) Message-ID: <1992Sep10.153753.28054@lambda.msfc.nasa.gov> List-Id: In <67946@hydra.gatech.EDU> jm59@prism.gatech.EDU (MILLS,JOHN M.) writes: [ deletia- reasons why Ada compilers are best written in Ada ] >Without having come _close_ to writing a compiler or interpreter, I have >some very serious reservations about this reasoning. Fire away! As a former compiler developer, I have some disagreements with your comments, and I'm sure some of the others will jump in (no, not you, Ted.) >Programming languages have various ranges of application, strengths and >weaknesses, and tradeoffs of power vs. mastery for effective use. I >couldn't select only one language to do all types of programming and feel >I had always the best tool. (Naturally, I think the USDoD's attempt to do >this with Ada forces some poor and expensive design decisions, some of which >were on my projects. .. Sorry, no details.) C was originally developed to >write operating systems, and its relative simplicity, implementation on >processors from 8080s to Crays (and targeting for an even _broader_ range), >led to its use for a lot of programming, development of C++ and a wide range >of programming support tools, etc. >For all I know, Ada may _be_ the best language to write a compiler; in that >case it should be considered for Pascal compilers, etc. My plaint is with >the assumption that a single language has the qualities for any and all >applications. It seems that you have rejected one extreme and adopted the other. I didn't read Stephane's comments as indicating that Ada was the language of choice for building _any_ compiler; rather, that writing an _Ada_ compiler _in Ada_ was a good idea, for the reasons he specified. Your argument with that statement seems to turn on the point that C (with its wide range of host & target machines and "relative simplicity") is a better language because it's in wider use. The reasons we liked Ada for ALS/N were the same reasons many other projects chose Ada: better support for good software engineering practice. The fact that our project happened to be a compiler also enabled us to benefit from Stephane's list of benefits.. having a better test suite than ACVC was certainly to our advantage :) [ deletia- list of compilers & their source langauges ] >Several surveys have compared these various compilers, and I don't >recall any correspondence between user satisfaction and compiler source >language. Many users (including our team) report satisfaction with the >DEC product, in our case partly because of its close correspondence to >the XDAda for our MC680XX targets. We also use the RTAda version of the >Telesoft product, and found our development process much more painful >using that package. As you point out, there are more pieces to a development system than just the compiler. DEC Ada produces good code, runs fast, and fully supports interfaces to DEC's other products. Not all other implementations are as nice, and of course the features which are important to one application may be unimportant to another. As has been pointed out hundreds of times here (and elsewhere), you can write bad code in any language. I won't claim that DEC Ada, or ALS/N, or any other tool is better because it was written in Ada; however, I will claim that writing portable, modular, maintainable implementations of large tools _is_ easier in Ada. Regards, -Paul, GT ICS '90 -- Paul Robichaux, KD4JZG | I shouldn't bitch / I shouldn't cry robichau@lambda.msfc.nasa.gov | I'd start a revolution but I don't have time.