Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.object
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!fas-news.harvard.edu!newspump.wustl.edu!news.starnet.net!wupost!uwm.edu!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.usw
Message-ID: <D3K7GH.385@syacus.acus.oz.au>
Organization: Australian Centre for Unisys Software, ACUS
Date: Mon, 6 Feb 1995 03:38:41 GMT
Lines: 51
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:111138 comp.lang.smalltalk:20395 comp.object:26201

est.com> 	<1995Feb3.172403.2977@rcmcon.com> <MATT.95Feb3103425@physics10.berkeley.edu>

matt@physics10.berkeley.edu (Matt Austern) writes:

I agree with your other comments.

>I suspect that it would be possible to have a language whose
>expressive power was identical to that of C++, but that had a stricter
>type system.

What do you mean by expressive power? If you mean computational power,
then all languages are equivalent (Turing equivalent). At least this
is Turings assertion made 60 years ago, that no one has been able to
disprove. Unfortunately, I think many people chose C/C++ because there
is a FUD factor that a more complex language will be able to do more
computationally for you. As with most FUD factors, this is a myth.

If you mean readability then this is often hotly contested. Many will
say it is a matter of taste. However, I have seen more cryptic and
unreadable programs in C than other languages. And you get sick of
trying to work out how one little jot on the page might have
affected the semantics of the program. This is very tiresome reading,
and means that the code will hide many more lurking bugs than otherwise,
as you have to spend more time interpreting instead of bug fixing.

The main difference between languages is the amount of pain they
cause in achieving the desired result. Of course if you are inexperienced
in a language, then you will have more pain, so we should consider this
pain factor once you are equally experienced in a range of languages.
I have often disliked a language when I first used it. (I actually
quite disliked Eiffel at first for being yet another OOL).
(Right now I am doing equal time in ALGOL, C, Pascal83 and Eiffel, and
C fares the worst for cutting fingers with razor blades).

The point of modern languages is to help organise projects. It is
probably fair to say that languages suited for small self written
projects will have different characteristics to a language
designed for large scale team oriented development. While you can
use C/C++ to span this range of requirements, C/C++ don't actually
scale up or down well. We are beginning to see this polarisation
in the industry, with VB and HyperCard type languages being
better suited to the small end, and languages like Eiffel
being better suited for large scale industrial strength
team oriented programs. Really skillful software practitioners,
will be able to chose the correct level of language for the
application at hand, and must be comfortable in a number of
languages.
-- 
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
