Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.object
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornell!travelers.mail.cornell.edu!news.tc.cornell.edu!caen!zip.eecs.umich.edu!newshost.marcam.com!news.mathworks.com!uunet!in1.uu.net!cherokee!da_vinci!lookout!tblanch
From: tblanch@lookout (Todd Blanchard)
Subject: Re: C++ Productivity
Message-ID: <D4060q.DD0@da_vinci.ecte.uswc.uswest.com>
Followup-To: comp.lang.c++,comp.lang.smalltalk,comp.object
Sender: news@da_vinci.ecte.uswc.uswest.com (IT Netnews)
Nntp-Posting-Host: lookout
Organization: US WEST Information Technologies
X-Newsreader: TIN [version 1.2 PL2]
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 <D3yqBy.EB0@syacus.acus.oz.au>
Date: Tue, 14 Feb 1995 18:29:14 GMT
Lines: 62
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:112733 comp.lang.smalltalk:20838 comp.object:26717

Ian Joyner (ian@syacus.acus.oz.au) wrote:
: .com>

: tblanch@lookout (Todd Blanchard) writes:

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

You are dead on about the three levels.  I think often you can have a
level 3 person leading a group of level 2 people.  If the level 3 person
is seeing high error rates among his team, it falls to him to fix it.

When I said "not too bright" I didn't mean to imply that in a general
sense, but in a computer-savvy sense.  I've seen COBOL shops try to
migrate their people to C++.  Suddenly a whole host of issues crops up
such as memory management, memory that isn't auto-inited and so forth
that these people are simply not in the habit of thinking about.  Its
quite a cognitive load they have to take on.  Some do quite well with
it, some never get it.  

One might argue that C++ isn't the right tool for the job in such a case
Certainly, C wasn't for them.  C++ has been heavily oversold though.
Its supposed to be great for everything (at least from what I read).  I
think a good question to ask when considering a switch might be "Would
this be better in C?"  If not, I think there's no point in switching.

Todd Blanchard
