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: f891f,9d58048b8113c00f X-Google-Attributes: gidf891f,public X-Google-Thread: 10261c,2e71cf22768a124d X-Google-Attributes: gid10261c,public X-Google-Thread: 1014db,9d58048b8113c00f X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,2e71cf22768a124d X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: next "big" language?? (disagree) Date: 1996/06/08 Message-ID: #1/1 X-Deja-AN: 159195493 references: <4p3k86$k4a@btmpjg.god.bel.alcatel.be> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada,comp.lang.misc,comp.lang.c,comp.lang.pascal.misc Date: 1996-06-08T00:00:00+00:00 List-Id: James Robinson said: " I was not implying that Ada executables are slow (although your complaint is understandable -- I should have said "a language that allows for a small, fast environment"). I was trying to say that the environment and compile times for Ada would be big and/or slow, for the simple reason that the language offers a great deal more support than C does. As I have said in this thread I'm sure Ada is just as subject to efficient compiling and optimizing techniques as other languages are, and almost as fast as C. :-) " That's not a valid conclusion. Fast compilers can be written for any language, it is simply a matter of whether this is a primary goal or not of the compiler effort (compared to portability, etc). The fastest compiler for any language on the PC is the Computer Associates Realia COBOL compiler, and it is certainly not the case that COBOL is the simplest language. But compile speeds are of absolute, not relative interest, so as machines get faster, more and more compilers are fast enough, and speed becomes much less of an issue. Indeed at Realia, early on, when Realia could compile 10,000 lines/minute on an 8088 PC-1, it was a real competitive advantage to the competitions 500 lines minute, but later on, when both compilers got 50 times faster mainly because of faster hardware, the difference was not nearly so significant competitively. These days, GNAT on a top of the line SGI machine, using multiple processors, can compile at a rate of a few hundred thousand lines a minute, which is in the fast enough category. Now of course not everyone has a 16 processor power challenge on their desktop, but todays very expensive machine becomes next years affordable machine, and the year after that's cheap machine. Technically, it is certainly feasible to write a very fast compiler and environment for Ada 95. There is no reason why Ada 95 cannot be compiled just as fast as COBOL [incidentally I should mention that the speed of Realia COBOL was not achieved at the expense of poor generated code, indeed it was written in its own language and self-compiled, and at the time I was involved, generated the fastest code of any compiler for any language for the (in)famous seive benchmark -- that comparison was carried out by Phillipe Kahn of Borland, independently of us]. There was a time when concentrating on a really fast Ada compiler would have made sense, but with modern hardware that becomes much less interesting. In the case of the GNAT project, it made much better sense to take advantage of the GCC backend, which is not particularly fast, because the primary goals are highly efficient code, and ease of porting -- obviously specialized code generators for spcific machines can be faster than the approach in GCC using machine description files, but the ease of porting GNAT is one of its very attractive features -- I think everyone would agree that it is better to have GNAT on many different systems than a faster compiler that ran on only one machine [Realia COBOL is *very* {C s[pecific, in fact it has taken ten years to finally port from a 286 to a 386). In the case of GNAT, the front end is quite fast (no one has really seen this yet because we have never issued other than the debugging version of the front end so far -- that wlil be something that waits for version 4 of GNAT later this year). The backend however wlil never be Realia-style fast. But back to the original point, the idea that a C compiler should obviously be much faster than an Ada compiler because C is simpler is just wrong. Sure, if everything else were equal, this might be the case, but it is never the case that everything else is equal -- the difference in speed between compilers results from the approach and design of the compiler, not from the language being compiled.