comp.lang.ada
 help / color / mirror / Atom feed
* Re: C++ is a preprocessor (was Admiral Tuttle Revisited ...)
@ 1993-08-03 15:16 Mark C. Carroll
  0 siblings, 0 replies; 3+ messages in thread
From: Mark C. Carroll @ 1993-08-03 15:16 UTC (permalink / raw)


In article <9307250105.aa25189@dsc.blm.gov> cjames@DSC.BLM.GOV (Colin James 062
1) writes:
>
>  
>A number of writers on internet are attempting to defend the integrity
>of C++ on the basis that C++ is not a preprocessor, but that C++ can
>be a preprocessor depending on the implementation.  

C++ is a programming language, not a compiler, not a
preprocessor. Let's see if we can get that straight, OK?

Some implementations of C++ use C as their target language, rather
than assembly language. If you want to claim that that makes those
implementations preprocessors, fine. But realistically, it's a
non-issue.

If I implement an Ada compiler that outputs C as its target language,
can I therefore conclude that Ada is nothing but a preprocessor? 

And in any case, *what difference does it make*? Ada is a *programming
language*; C++ is a *programming language*. The exact mechanics used
in translating it to object code aren't all that important: what is
important is the quality of the language.

If you want to compare Ada-9x to C++, I think Ada is going to win
hands down on its own merits. There's no need to bring up the
compilation mechanisms of C++ compilers - ignoring that entirely, Ada
is a far better programming language. (And that statement is coming
from a person who isn't much of an Ada fan!)

>The argument turns on what the notion of preprocessor means.  The liberal
>definition, as used by the critics, is that a preprocessor is really an
>implementation form or part of a compiler.  What follows then is that
>C++ is a compiler, whether or not it is a preprocessor.

I disagree. When you say preprocessor, most people think of things
like cpp or m4, not cfront. The difference between a preprocessor and
a compiler is that a preprocessor doesn't do any semantics: it does
strictly syntactic transformations on its input, but doesn't do any
kind of semantic analysis. If the transformation of the input relies
on semantic analysis, then it's a compiler.

So by this definition, cfront is NOT a preprocessor - it's a compiler
that uses C as its target language.

	<MC>
-- 
|| Mark Craig Carroll: <MC>     ||"In all seriousness of truth, hear this:
|| CIS Grad, U of Delaware      || without the It, one cannot live. But
|| PGP Key Available, by finger || whoever lives with It alone is not
|| carroll@udel.edu             || human" - _I_and_Thou_, by Martin Buber

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: C++ is a preprocessor (was Admiral Tuttle Revisited ...)
@ 1993-08-03 19:27 Alex Blakemore
  0 siblings, 0 replies; 3+ messages in thread
From: Alex Blakemore @ 1993-08-03 19:27 UTC (permalink / raw)


In article <9307250105.aa25189@dsc.blm.gov> cjames@DSC.BLM.GOV (Colin James 062
1) writes:
> A number of writers on internet are attempting to defend the integrity  of C+
+

no one has ever accused me of that before.
C++ improves C in a few areas, but is seriously flawed in many more than it fix
es.
(to see what God intended object oriented C to look like, see Objective C :)

> on the basis that C++ is not a preprocessor, but that C++ can
> be a preprocessor depending on the implementation. 

this statement shows a certain lack of understanding.

> The argument turns on what the notion of preprocessor means.  The liberal
> definition, as used by the critics, is that a preprocessor is really an
> implementation form or part of a compiler.  

In this case, as with so many others,
the liberal definition is the correct one.

   8^)

> What follows then is that
> C++ is a compiler, whether or not it is a preprocessor.
   
NO NO NO
C++ is a LANGUAGE

There are implementations based upon preprocessors (most in the beginning)
There are also implementations that are NOT based upon preprocessors (more and 
more)

The second kind is certainly better, especially if you have to spend any
amount of time in the debugger
(as most C programmers do, studying their core dumps)

-- 
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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: C++ is a preprocessor (was Admiral Tuttle Revisited ...)
@ 1993-08-03 21:56 cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd
  0 siblings, 0 replies; 3+ messages in thread
From: cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd @ 1993-08-03 21:56 UTC (permalink / raw)


In article <69976@mimsy.umd.edu> alex@cs.umd.edu (Alex Blakemore) writes:
>In article <9307250105.aa25189@dsc.blm.gov> cjames@DSC.BLM.GOV (Colin James 06
21) writes:
>> on the basis that C++ is not a preprocessor, but that C++ can
>> be a preprocessor depending on the implementation. 
>
>this statement shows a certain lack of understanding.
>

I've mentioned this privately to a few people, but I'll do it
publicly to prevent further occurrences.

I sent an e-mail message to Mr. James covering two points 
regarding the message you've responded to, they were:
	1) His misconceptions
	2) Asking him to not post further comments until he
		was a little more "enlightened"
He responded by calling my next three layers of management and
pointing out that I was "posing" as a representative of the
AJPO and was being nasty to him (Which I did neither).  

I wish to caution others that may respond in such a manner to be
careful.

Let's just drop this subject -- this horse has been
thoroughly kicked.
-- 
type My_Disclaimer is new Standard.Disclaimer with record
	AJPO, SEI : Cognizance := Disavow_All_Knowledge;
end record;--)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1993-08-03 21:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1993-08-03 15:16 C++ is a preprocessor (was Admiral Tuttle Revisited ...) Mark C. Carroll
  -- strict thread matches above, loose matches on Subject: below --
1993-08-03 19:27 Alex Blakemore
1993-08-03 21:56 cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox