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!attcan!uunet!lll-winken!ncis.llnl.gov!ncis!helios.ee.lbl.gov!pasteur!ucbvax!decwrl!purdue!gatech!hubcap!billwolf From: billwolf@hubcap.clemson.edu (William Thomas Wolfe,2847,) Newsgroups: comp.lang.ada Subject: Re: Ada and the infamous goto Message-ID: <4125@hubcap.UUCP> Date: 17 Jan 89 23:03:52 GMT References: <8901171823.AA20919@bx.sei.cmu.edu> Sender: news@hubcap.UUCP Reply-To: billwolf@hubcap.clemson.edu List-Id: >From a recent article by blakemor@software.ORG.UUCP (Alex Blakemore): > According to John Barnes [Programming in Ada p. 61] > "The main reason concerns automatically generated programs ... > [to] transliterate (by hand or machine) a program from some other > language into Ada" > He also points out the syntax was deliberately made > to stick out like a sore thumb. <> From what I've heard, as recently as October's Tri-Ada '88, automatic translation is pretty well discredited as a software porting technique. The Ada Adoption Handbook (Foreman and Goodenough, May 1987) summarizes: "language translation must be viewed as a risky, short-term proposition which will yield results of unknown quality. Redesigning and recoding the system in Ada or interfacing newly written Ada code with the current implementation are much preferred approaches.". The basic problem is that when one translates Fortran into Ada with an automatic translator, what one gets is Fortranized Ada, with (you guessed it...) gotos everywhere. Other problems (Ada IC Newsletter, September 1988) include the lack of software engineering practices in the old code, and the fact that automatically translated programs often exhibit large timing changes (~ 50% of the efficiency of the old program). Richard Waychoff, who participated in the development of the Fortran-to-Ada and COBOL-to-Ada translators which now reside in the Ada Software Repository, was quoted as saying: "The code was not pretty and it was not efficient... my guess is that the translators were never used [on the project for which they were originally built].". >From article <8901171823.AA20919@bx.sei.cmu.edu>, by Marc.Graham@SEI.CMU.EDU: > > Ada does not have a `continue' or `abandon' statement for loop > control. Such a statement is orthogonal in some sense to exit. One > uses it in the body of a loop when one wishes to terminate this > iteration of the loop and start on the next one. To simulate it, one > issues a goto a <