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 04:09:48 PST Newsgroups: comp.lang.ada Path: sparky!uunet!seas.gwu.edu!mfeldman From: mfeldman@seas.gwu.edu (Michael Feldman) Subject: Re: Ada cost breakpoints (was Re: Air Force helping to undermine Ada) Message-ID: <1993Mar21.234208.4027@seas.gwu.edu> Sender: news@seas.gwu.edu Organization: George Washington University References: <9303151702.AA01402@manta.nosc.mil> <65260@mimsy.umd.edu> Date: Sun, 21 Mar 1993 23:42:08 GMT Date: 1993-03-21T23:42:08+00:00 List-Id: In article <65260@mimsy.umd.edu> alex@cs.umd.edu (Alex Blakemore) writes: >In article <9303151702.AA01402@manta.nosc.mil> mshapiro@MANTA.NOSC.MIL (Michael D Shapiro) writes: >> for smaller programs with shorter life >> cycles, Ada might cost more to use over the full life cycle. >> 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. > >I have no study to point to, but from experience 500K SLOC is way too high >for a minimum breakpoint to Ada. The breakpoint depends on the complexity >and number of people involved. I dont know about you, but things start >to seem complex to me much closer to 30K than 500K lines. >Even 30K lines of C is a pretty frightening thought. As a 20-year Snobol4 nut (Snobol4 is one of the languages Shapiro mentioned as good for quickies), I feel qualified to describe something I did yesterday. I needed to generate a file of calendar data to use in a little system I'm developing for the department. Basically I needed a set of lines of form , for several years. I briefly considered doing it manually, or generating the file from a Snobol4, C, or Ada program. As it turned out, I was able to use package Calendar, along with a little student-written package that finds the day of the week a given date falls on, and generate this file with a 1-shot Ada program in about 30 minutes. The program compiled and ran the first time; refining the output took a couple of change cycles. Mostly, the changes were required to display the days and months with initial caps. My first cut was to use Enumeration_IO, but enum literals can be written only in full upper or full lower case, and I thought this was unesthetic after seeing it "in print." So I gave up on Enumeration_IO and used strings instead. Yes, I know there are tricks one can use to get initial caps, but I didn't want to spend the time - after all, it was a one-shot. Given my two reusable components - Calendar and my own package - I found Ada to be a very productive way to write a quickie. No doubt someone will claim that it would have been just as fast with C or maybe PERL. Sure - no problem there. But the point of this post is to emphasize that with a good personal collection of Ada components, together with the "free" stuff like Calendar, Ada does NOT (read my lips: NOT) require a big human-time overhead to write a 1-shot. Don't believe all this trash you hear. What counts is how much reusable functionality you have lying around. No doubt you will find better ways of doing this program - so would I if I wished to spend the time. But I had 30 minutes to do it, and I was done on time. So don't flame me - I brought the sucker in under budget :-) BTW - I used Ada/Ed. And the program was so simple - given the packages - that I will now assign it to my freshmen as a 1-week-turnaround project. Mike Feldman ------------------------------------------------------------------------ Michael B. Feldman co-chair, SIGAda Education Committee Professor, Dept. of Electrical Engineering and Computer Science School of Engineering and Applied Science The George Washington University Washington, DC 20052 USA (202) 994-5253 (voice) (202) 994-5296 (fax) mfeldman@seas.gwu.edu (Internet) "The most important thing is to be sincere, and once you've learned how to fake that, you've got it made." -- old show-business adage ------------------------------------------------------------------------