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 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ffe7b9269a00c843 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1993-03-22 23:56:16 PST Newsgroups: comp.lang.ada Path: sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!agate!linus!linus.mitre.org!linus!mbunix!eachus From: eachus@dr_no.mitre.org (Robert I. Eachus) Subject: Re: Ada cost breakpoints (was Re: Air Force helping to undermine Ada) In-Reply-To: mshapiro@MANTA.NOSC.MIL's message of 15 Mar 93 17:02:47 GMT Message-ID: Sender: news@linus.mitre.org (News Service) Nntp-Posting-Host: dr-no.mitre.org Organization: The Mitre Corp., Bedford, MA. References: <9303151702.AA01402@manta.nosc.mil> Date: Mon, 22 Mar 1993 18:58:45 GMT Date: 1993-03-22T18:58:45+00:00 List-Id: In article <9303151702.AA01402@manta.nosc.mil> mshapiro@MANTA.NOSC.MIL (Michael D Shapiro) writes: > This implies to me that for smaller programs with shorter life > cycles, Ada might cost more to use over the full life cycle. > Certainly a 23-line reformatting utility to be used one time and > discarded thirteen minutes later can probably be written in > SNOBOL4 or ICON (or even AWK) more cheaply than in Ada. Has > anyone done a study to find these breakpoints? One pair I've > heard mentioned as the appropriate minima for Ada are 500K > source lines of delivered code and/or seven years life cycle. My first thought was to say that this was way too high, but then I realized that 1) the complexity of the application has a major effect on the breakpoint, and 2) that in general a line of Ada does cost more than a line of C, FORTRAN, or COBOL. The cost advantage comes because a large application is much smaller in Ada. (The relation does not seem to be linear. If you translate a one thousand line C program into Ada, it will usually come out larger. About three or four K, they are the same size, and a hundred KSLOC of C maps to about 40 to 50 KSLOC of Ada.) Having said all that, my guess at the breakpoint is 25K lines of C for embedded applications, 50K lines of FORTRAN mathmatical code, and 100K lines of screen management and report generation in COBOL. (But I personally would not go anywhere near those numbers before switching.) Incidently, this is the crossover point where Ada development costs will be smaller. If the software will be maintained by someone not the author, twenty lines of C can be too much. My own (personal) guideline is that C is only acceptable if I could rewrite it from scratch in a week. (I'm not an anti-C bigot, I use the same guideline for assembler, BLISS, BCPL, and PL-M. :-) That usually turns out to be about a device driver. It is interesting to note that most Unix utilities are in this size range or smaller. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...