From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 21 Jul 93 02:08:53 GMT From: alex@MIMSY.CS.UMD.EDU (Alex Blakemore) Subject: Re: Admiral Tuttle (Should be ...) Revisited Message-ID: <69468@mimsy.umd.edu> List-Id: In article <9307140635.aa13529@dsc.blm.gov> cjames@DSC.BLM.GOV (Colin James 062 1) writes: > Mark C Carroll, and others, assert that C++ is not a pre-processor ... > In my opinion they are misinformed because the original definition > and intent of C++ was as a pre-processor to generate C code ... > If C++ has become something else then it should have a new name such as C+++ ... as others have stated, C++ is a language. how the language is defined is a completely separate concept from how its implemented. thus it is possible to implement C++ via an interpreter, compiler, or a preprocessor. you may be suprised to know that one of the most successful Ada compilers in existence translates Ada to C instead of directly to object code. There is nothing wrong with this, especially if it is hidden from (and thus irrelevant to) the user. Eiffel also started this way, and GNU Ada is doing something similar (grafting onto an existing C compiler directly) its a great way to get a working compiler on alot of systems quickly, a good example of reuse, right? if the translation is not hidden, then it can lead to problems. debugging gets painful and you need to in effect know 2 languages and how the translation works. as things mature, you can evolve towards traditional compilation. thats what most C++ compilers do now. on the other hand, if the language definition requires a particular form of translation then its often a bad sign. this is one of the problems with the C preprocessor IMHO. C++ tries to move away from that to an extent, but it will always be saddled with #ifdef and its curses (and occasional benefits). P.S. does anybody know how many keywords C++ added to C? 42 at last count according to one book I read. thats without even touching concurrency. Ada9X added 5. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry