Newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.clos
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!gatech!swrinde!cs.utexas.edu!bcm!news.msfc.nasa.gov!news.larc.nasa.gov!xanth.cs.odu.edu!maui.cc.odu.edu!hearst.acc.Virginia.EDU!murdoch!elvis.med.Virginia.EDU!sdm7g
From: sdm7g@elvis.med.Virginia.EDU (Steven D. Majewski)
Subject: Re: C++ not OOP? (Was: Language Efficiency
X-Nntp-Posting-Host: elvis.med.virginia.edu
Message-ID: <D9q5IK.9uz@murdoch.acc.Virginia.EDU>
Sender: usenet@murdoch.acc.Virginia.EDU
Organization: University of Virginia
References: <dewar.797512974@gnat> <3ql7oe$17a@uuneo.neosoft.com> <19950601T220829Z@naggum.no> <3qtfre$7qb@news.wwa.com>
Date: Tue, 6 Jun 1995 00:03:56 GMT
Lines: 74
Xref: glinda.oz.cs.cmu.edu comp.object:32215 comp.lang.c++:131935 comp.lang.ada:30918 comp.lang.clos:3133

In article <3qtfre$7qb@news.wwa.com>, Robert C. Martin <rmartin@oma.com> wrote:
>
>Theories are theories, and facts are fact.  Any theory that asserts
>that a bumblebee cannot fly is a false theory.  Any theory that states
>that C++ is impractical or unusable, is equally false.
>

That's quite a straw man you're knocking down, rmartin!

*Almost* no one ( As Jim Flemming's been part of this thread, I have 
to insert that qualifier - I haven't followed the whole discussion, and
there no telling what "immoderate" things he may have said! ) asserts
that C++ is impractical or unusable. We make practical use of flawed
tools all the time. 


The question isn't whether C++ is flawed - all of our tools -
especially languages are - it's HOW flawed is C++, and are the
alternatives less flawed ? ( For many applications: YES )

The question isn't whether C++ is useful - it is. The question 
is whether it's being misused as a general purpose applications
programming language, rather than as a systems programming language
( Which Stroustroup's The Evolution of C++, indicates was the original
intent and requirement. ) 

[ "When your hammer is C++, everything begins to look like a thumb."
                                 - smh@Franz.COM (Steve Haflich)   

  "My only _real_ objection to C++ is that it's used widely."
                                                        - David Keppel ]

The question isn't whether C++ supports Object-Oriented programming: 
for many of us who tried to do O-O in C, when that was the only 
alternative, it does offer considerable support ( compared to C ) - 
the question is how *well* it supports O-O. 


[ <http://www.cs.purdue.edu/homes/knapp/Dark-Cplusplus.ps>
The darker side of C++ revisited. Markku Sakkinen, Dept. of
Computer Science and Information Systems. Univ. of Jyvaskyla, Finland.]
gives, I think, a good argument that many of the features intended
for backwards compatibility with C subvert C++'s object-system - and
even worse, given the stated goal of compatibility with C and with
linking with other languages, server *that* goal poorly. 

| The search for compatibility at any cost is also the reason behind the
| centaurs sporting an object-oriented head on top of a C body, such as 
| C++. Image this: one the one hand, inheritance, on the other hand, 
| pointer arithmetic! 
|
|        Bertrand Meyer
|        From Structured Programming to Object-Oriented Design
|        Structured Programming, Vol. 10 No. 1 (1989), 19-39
|        (my source: quotation in "The Darker Sice of C++ revisited"  )


I think that paper shows clearly that "theoretical" objections can 
produce very real and practical problems. 


BTW: Links to that paper, Ian Joyner's C++ critique, other
cross-comparisions and critiques of various programming languages,
and all the spiffy quotes above, are avaliable from URL:
	<http://minsky.med.virginia.edu/sdm7g/LangCrit/>

I don't think criticism of C++, or any language is  "bashing", 
but a necessary part of someday building less flawed tools. 


---|  Steven D. Majewski   (804-982-0831)  <sdm7g@Virginia.EDU>  |---
---|  Computer Systems Engineer          University of Virginia  |---
---|  Department of Molecular Physiology and Biological Physics  |---
---|  Box 449 Health Science Center    Charlottesville,VA 22908  |---
