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.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ca0b11ae1c9a00cb X-Google-Attributes: gid103376,public From: vonhend@ibm.net Subject: Re: Papers saying Ada as an overly complex language and hard to implement Date: 1998/02/18 Message-ID: <34eb208c.0@news1.ibm.net>#1/1 X-Deja-AN: 326288543 References: <34E7B551.115C289F@cs.utexas.edu> <34E8AA02.7ED447E0@cs.utexas.edu> <34E91572.CE9CEED2@cs.utexas.edu> Organization: IBM.NET Reply-To: vonhend@ibm.net Newsgroups: comp.lang.ada Date: 1998-02-18T00:00:00+00:00 List-Id: In , dewar@merv.cs.nyu.edu (Robert Dewar) writes: >Joe said > ><comparison of the day was C, and there was no doubt then that Ada83 >compilers were a great deal more complex than C compilers. I became >curious on the issue, and compared the DEC Ada compiler with the DEC "C" >compiler on the VAXen here. The DEC Ada compiler executable image was >about ten times larger than the DEC C compiler image. While size is not a >direct measure of complexity, ten to one is still a significant >difference. >>> I don't recall such a large difference in sizes 10 years ago. But I was using VMS (as opposed to Ultrix) and the system run-time libraries were all installed as shared. > >The factor of ten, if real, means that the C compiler was very poor indeed. >Why do I say this? Because in a good C compiler, the code generator will >be by FAR the largest component of the compiler, and the same is true >of an Ada compiler. For example, in GNAT, the gcc backend is larger >than the gnat front end. Actually, the VAX/VMS C compiler was one of the best in the business. It generated smaller and more efficient code than any other commercially available C compiler (with the exception of the GNU C compiler, when it came out.) > >In fact I suspect the factor of ten was, for whatever reasons, an apple >and oranges comparison (all sorts of things can distort such comparisons, >e.g. static vs dynamic linked libraries, debugging information, inclusion >of tools etc. > >Actually I rather suspect the C compiler for the Vax was pretty simple >minded. The Vax was one of these machines where you can write a fairly >simple minded compiler and it is not too terrible :-) > It wasn't simple minded at all. See above. It is true that a number of features in VAX architecture and in the VMS operating system made it easier to write an efficient C compiler, but the same argument applies to Ada. In fact, the VMS process model fit very nicely with the Ada task model, so tasking worked much better under VMS than any Unix system. Mark Von Hendy LMTO