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
 <D3IAw9.6FH@syacus.acus.oz.au> <1995Feb6.184830.18048@rcmcon.com>
Message-ID: <D3M3B7.L09@syacus.acus.oz.au>
Organization: Australian Centre for Unisys Software, ACUS
Date: Tue, 7 Feb 1995 04:04:19 GMT
Lines: 191
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:111386 comp.lang.smalltalk:20470 comp.object:26292

rmartin@rcmcon.com (Robert Martin) writes:


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

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

>>Robert, you have been saying these things so long that you are starting
>>to believe them. 

>I believe them, because I work with many companies who use C++ and I
>don't see the "lemming syndrome" working at these sites.  In nearly
>every case, C++ was brought into the organization in the face of
>resistance by management.  In nearly every case, it was engineering
>that was championing the transition.  In nearly every case, those
>engineers that were driving the change were intelligent and informed.

I think there are two directions from which C++ is resisted:

1) Those who don't want to move from C (and who probably resisted
moving from assembler). I certainly do not agree with the unfounded
attacks on C++ that come from this direction, and I sympathise with
people like Robert and Bjarne who have had the frustration of trying
to promote something that is better. The people in this group are
often very vocal in their resistance to new things.

2) Those who have been beyond C++, and done OO in a pure sense. These
people can see the flaws and problems with C++, and are legitimately
concerned that it is preventing the widespread adoption of cleaner
programming practices, and therefore this industry as a whole will
continue to have a reputation for poor quality.

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

>Many have, yes.  But not without forethought, not blindly.

It can be admitted that those who have moved to C++ up until recently,
have had to think about it. Mostly these have been people in the
second group. Those in the first group will not move, until market
success is well demonstrated. This is now happening with C++, and
certainly since last year the 'me too' syndrome has become well
established in C++. I think this is why there is truth in what
Robert says (as always), but there is also truth in that the scales
have tipped far enough so that the immovable mass in the industry
are just finding their place of most comfort. This is a shame, as OO
could have almost tipped them in the right direction, but C++ is far
away from the right direction as to be of concern, that it will be
a long time before we get the opportunity again. Unfortunately,
the world does not work as Robert suggests, in that you just get
people converting to the next thing, so the mass gets linearly
bigger. The system is much more unstable than that. That is why
you cannot make any assertions about correspondence between
market acceptance, and technical excellence.

>>This got C++ started. 

>What got C++ started was very wide acceptance by the engineering community.  

But you said it wasn't widely accepted, and you had problems getting these
people to move? C++ has mainly gained wide acceptance, because people
went straight from C.

>>Others have now followed, seeing that C++ has
>>grown to critical mass. 

>I will not disagree that the prevalence of C++ is not a factor in
>other people's decision to use C++.  Of course this must be so.  Third
>party support, multiple suppliers, access to engineers who are
>experienced with the language, all contribute in the decision making
>process.

>>If you ask most places if they had experience
>>in OO before using C++, or aside from C++, the answer is most often
>>no.

>Quite so.

>>The popularity of C++ does not prove its technical excellence. 

>Indeed not.  It only proves its technical adequacy.

But now I think that more people are realising that for large scale
economic, quality software, it is not adequate. True you can build
large programs with C++, and there will always be large corporations
like IBM and Microsoft who can spend lots of money on software
development. But the rest of us can't. And that is why many
respects that those who support costly programming techniques are
helping make the industry a less competitive market.

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

>If the language were so complex that nobody could understand or use
>it, it would not sell.  It would never have gotten started.  The fact
>is, people can and do use it productively.

But many people think that programming has to be a complex activity.
It is hard, but the tools don't need to be complex to support the
difficulty of programming.

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

>A language without an environment is probably a thing of the past.

>>C++ is a language that is dogged by controversy, and it always will
>>be. 

>Yes, as any success story is bound to be.

If C++ had not made it out of the labs at AT&T, then there would be
no controversy. However, it is like an ugly building built in the
middle of a city. It is there for all to see, so it gets criticised.
If the building was out in the desert where no one could see it no
one would care. C++ is controversial because of its ugliness and
complexity.

>>It has clearly crippled the OO paradigm, ...

>One man's clarity is another mans opacity.  I do not find the OO
>paradigm to be crippled by C++.  Nor do my associates.  It must be
>that your OO is different from my OO.  

Ah good, I am glad to know that other OO languages are being freely
used, and that programming technology is now improving again. C++
would actually not concern me a bit, if it were not for the fact that
the world is getting stuck on it, and the amount of criticism that
has always come from the C++ camp (and the C camp before it) of
all other languages. That is why I say I would find OO consultants
more credible if they supported OO more generally through a range
of languages. However, it seems to most more important to push
the C++ line, rather than the OO line. And then they say, that
language is not an important factor.

>>...the case against C++ is legitimate. 

>Yes, it is.  So is the case *for* C++.  And the Jury will decide with
>their dollars.  And that decision is not final, it will be made every
>day, and will change as time goes on.

No the size of the C++ market will never discredit the technical
arguments against C++. They will always be the same, only your
market will vary.

>>We need to recognise this, so that it is established
>>that work in other areas of OO are necessary to correct this mess.

>A POLL:  Do any of you out there who are currently using C++ think
>that C++ is the "be all and end all" language?  Do you think that it
>is a good thing that others, (like Dr. Joyner) are working on
>improving the technology?  Do you want to see new langauges invented
>and tried?  Are you interested in trying some yourself?

>(My answers:  No, yes, yes, yes.)

(Correct, correct, correct, correct)

Thanks for the promotion by the way, I am not a Dr., just a pragmatic
programmer. Many have said I should use my time being more
constructive, and build some software for what I consider is a
better language. Well, the truth is, I am. However, now having
said that to dispel the criticism of I should not be so negative
about C++ all the time, I will now get criticised as one of those
who is just promoting their own pet language. Well it is not
my own pet language, I just think it (the language I am implementing,
without being specific) is more appropriate for large scale
software development than C++. And I am developing that language implementation
so that my colleagues at Unisys can try it out for themselves.
>-- 
>Robert Martin       | Design Consulting   | Training courses offered:
>Object Mentor Assoc.| rmartin@rcmcon.com  |   Object Oriented Analysis
>2080 Cranbrook Rd.  | Tel: (708) 918-1004 |   Object Oriented Design
>Green Oaks IL 60048 | Fax: (708) 918-1023 |   C++
                                                    ^^^^^^^^^^^^^^^^^^^^

I would like to see this blank space filled in sometime :-)
-- 
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
