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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID 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: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Papers saying Ada as an overly complex language and hard to implement Date: 1998/02/17 Message-ID: #1/1 X-Deja-AN: 326069928 References: <34E7B551.115C289F@cs.utexas.edu> <34E8AA02.7ED447E0@cs.utexas.edu> <34E91572.CE9CEED2@cs.utexas.edu> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 887766210 24042 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1998-02-17T00:00:00+00:00 List-Id: Joe said <> 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. The complexity required for high levels of optimization is staggering, and this is by far the hardest part of a compiler. One of the things that made GNAT possible was that we did NOT have to reinvent this. The differences between C and C++ compilers are basically in the front end (C-front provides a good hint that this is indeed true). 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 :-)