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!zombie.ncsc.mil!gmi!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: <D3yqBy.EB0@syacus.acus.oz.au>
Organization: Australian Centre for Unisys Software, ACUS
Date: Mon, 13 Feb 1995 23:52:46 GMT
Lines: 61
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:112610 comp.lang.smalltalk:20810 comp.object:26680

.com>

tblanch@lookout (Todd Blanchard) writes:

>Here, perhaps is the point.  The C++ language is entirely too large and
>complex.  It is *hard* to use correctly.  It takes at *least* two years
>for a person to become expert at its use.  If you are not expert, you
>are not likely to be successful.  C++ code is not fault tolerant.  If it
>is not correct, it fails catastrophically and often unexpectedly.

>Of the people who have used OO languages coming to C++, they are not
>used to being so close to the hardware and their lives are fraught with
>dangerous memory management and type conversion problems.  If they come
>from a C background, they do not properly use the OO capabilities.

>Now I don't know about you, but the average person I meet is simply not
>that bright.  And it takes a *very* bright person to become expert at
>using C++.  C++ is not an evil language, but it is not for the masses.
>It is not for general consumption any more than assembly is.  

Good points up to here. (I know this post is quite old, but we have
just received it). However, I would like to correct the notion that
those who don't get on with C++ are not very bright. In fact the
brightest, and most experienced people are those who can step
back from a problem, and solve it with lateral thinking. In the
case of C++ the brightest people step back and say "there's got
to be a better way."

I see three levels in the industry. 1) Those who are end users, who use
computers as tools. This says nothing about their level of brightness,
just they are using computers as a means to and end. 2) Those who
have acquired medium level skills. This is the group where the
religious fanatics about C/C++, PCs, Unix come from. 3) Those
who are really skilled in computer science and programming. They are
able to adapt to a range of different paradigms and languages, really
know how computers work at low levels, and so realise that you don't
need low level languages to program.

While there might be some detractors of C++ in level 2, who just want
to get in a fight, you will find that most criticism of C++ comes
from level 3. Ie. from the people who are able to step outside the
problem and take a wider view of computing than just the 'parochial'
C view.

Another observation about the three levels in the industry are the
level 3 people are busy working out how to make computers, programming
and programs more useful for the level 1 people. The level 2 people
are just making computers more suitable for those in level 2, ie for
no purpose whatsoever, except for computers as an end in themselves.
Most of the intellectual arrogance comes from people in level 2,
who deride people in level 3 for seeing what is beyond, and those
in level 1 for not understanding computers any better than they do.

>In my experience, C++ costs more, takes longer, and is much less
>dependable than C because of all of the unexpected little behaviors.

(You were certainly back on track in the rest of your post.)
-- 
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
