C++ bad-mouthing (was: Why learn Python ??)
donn at u.washington.edu
Tue Jan 13 01:34:34 CET 2004
In article <7xeku496wx.fsf at ruckus.brouhaha.com>,
Paul Rubin <http://phr.cx@NOSPAM.invalid> wrote:
> claird at lairds.com (Cameron Laird) writes:
> > >I'd say don't bother with C++ unless you're working on a big
> > >multi-person project. Its design will make no sense to you unless
> > >you've faced the problems that come up in those projects. Otherwise
> > >it's a big mess.
> > And if you *are* working on a big multi-person project, and you
> > choose C++, you're likely to end up with ... a big mess.
> C++ was motivated by the problems faced by big projects written in C.
> I'm talking about stuff like telephone switches with hundreds of
> programmers and millions of lines of code. Even with very competent
> designers and managers, those projects usually ran amuck. C++ gives
> some real help in keeping projects like that functioning, if the
> programmers and managers know what they're doing. If they don't know
> what they're doing (as is the case in most projects), C++ isn't that
> likely to help and may make the problems worse.
Hm, to me this proposition seems too self-reliant. If the
designers and managers fail to thrive on C++, then Q.E.D. -
must not have known what they were doing.
At any rate, as you note, there are other languages such as
Java that may or may not (can't say from experience) offer
some or all of the benefits without the worst problems. Your
telephone switch example reminds me to mention Erlang, which
is by no means an attempt to offer any of C++'s features but
seems to work in that space.
I don't know if we're on very solid ground from which to laugh
at C++, though. Python has the advantage of a clean start, but
from a software engineering standpoint it really seems like a
hacker language. Full of neat tricks that work like magic, but
does it really even attempt to offer anything in the area you're
If so, that might be a good direction for yet another book about
Donn Cave, donn at u.washington.edu
More information about the Python-list