Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.object
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!usenet.eel.ufl.edu!usenet.cis.ufl.edu!caen!msunews!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!news.ci.com.au!syacus!ian
From: ian@syacus.acus.oz.au (Ian Joyner)
Subject: Re: C++ Productivity
References: <1995Jan23.193745.7044@boole.com> <jim.fleming.84.00133AB6@bytes.com> <1995Jan25.201226.28856@rcmcon.com> <jim.fleming.75.0003AF13@bytes.com> <3gls1u$p2l@osfa.aber.ac.uk> <1995Feb1.184049.16332@rcmcon.com> <D3E33s.DCp@da_vinci.ecte.uswc.uswest
Message-ID: <D3IAw9.6FH@syacus.acus.oz.au>
Organization: Australian Centre for Unisys Software, ACUS
Date: Sun, 5 Feb 1995 02:57:45 GMT
Lines: 97
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:110972 comp.lang.smalltalk:20361 comp.object:26139

.com> <1995Feb3.172403.2977@rcmcon.com>

rmartin@rcmcon.com (Robert Martin) writes:

>tblanch@lookout (Todd Blanchard) writes:

>>Here, perhaps is the point.  The C++ language is entirely too large and
>>complex.  

>Certainly it is large and complex.  But not "too large" nor "too
>complex".  If it were, then it would not be selling as well as it is.
>You can claim that the purchasers don't really know what they are
>buying, but that is a pretty weak argument.

Robert, you have been saying these things so long that you are starting
to believe them. In a previous post in this thread you made out that
most made a concious and intelligent choice to use C++, based on
literature, etc. However, most have just migrated from C to C++.
This got C++ started. Others have now followed, seeing that C++ has
grown to critical mass. If you ask most places if they had experience
in OO before using C++, or aside from C++, the answer is most often
no.

The popularity of C++ does not prove its technical excellence. Indeed
it is popular despite its shortcomings. Any assertions that C++ would
not be selling as well if it were overcomplex are groundless. Clearly,
technical excellence has little to do with good sales in this industry,
and good sales do not indicate technical excellence.

Also do not forget the number of places that are just using C++ as the
next version of C compiler. Microsoft and Borland have also put a
lot of effort into their C++ environments, so people are using C++
for the environments, not for the language.

C++ is a language that is dogged by controversy, and it always will
be. It has clearly crippled the OO paradigm, which was supposed to be
a solution to complexity by bringing with it all the baggage and
complexity of C, and then adding new layers of its own.

While I agree with Robert's sentiments about language bashing, we must
separate what is legitimate criticism against just pure internet
bad manners. I have now come up with the term "Ignorance Superhighway"*,
as I think it is more fitting for what goes over the internet than
"Information Superhighway". However in C++'s case, the case against
C++ is legitimate. We need to recognise this, so that it is established
that work in other areas of OO are necessary to correct this mess.

>>It is *hard* to use correctly.  

>Yes, C++ is hard to use correctly.  So is Smalltalk.  So is Pascal.
>So is C.  So is any computer language.  Why?  Because software is
>hard.

This is exactly true, writing software is hard. Why then cripple us
with a language with so many complexities and difficulties as
C++? As I said before, OO was meant as a solution to complexity.
Other OO languages such as Smalltalk and Eiffel are clearly
designed to help tame complexity, but I cannot see this in the
philosphy of C++, which was designed so that Bjarne Stroustrup and
his friends would not have to write programs in languages other
than C. C++ is just a massive compromise.

That C++ is now a popular language only adds to the urgency of
the controversy that surrounds it. This only adds to the concerns
of many 'old time' OO practitioners that C++ is a technically
flawed language.

>If you are saying that C++ is harder to use than other languages, I
>agree to a point.  There are projects for which the C++ learning curve
>could not be justified.  However, for large, industrial projects, C++
>provides tools which pay back the learning curve.  For these kinds of
>projects, C++ is finally easier to use than many other languages would
>be. 

But the learning that is worth it is the learning of OO, not the
learning of C++. OO will pay you back, and you can even get the
benefits of OO via C++. C++ is just riding the back of the
technical benefits of OO (I'm being careful not to make that sound
like OO hype). However, given that you must learn OO, you
will get far more paybacks from OO if you use a clean OO
language, ie a language that helps solve complexity, rather than
pollutes OO with its own complexity.

In the long term given a clean OO language, your programs will be more
maintainable. But then most companies are not interested in long
term investments, which is why they are more likely to have chosen
C++ for a 'me too' reason.

*I have just coined the term "Ignorance Superhighway". Part of this             
is a reaction to Bill Gates going on about the "Information Superhighway"     
as if he just invented it. But for the most part it is a reaction against     
the low levels to which internet exchanges have sunk. If I had kids,          
I wouldn't want them to read most of what goes on here.   
-- 
Ian Joyner           |"for when lenity and cruelty play   |All opinions are
Unisys (ACUS)        | for a kingdom, the gentler gamester|personal and are not
ian@syacus.acus.oz.au| is the soonest winner" W.S. Henry V|Unisys official comment
