In article <JSA.97Apr24204757@alexandria> jsa@alexandria (Jon S Anthony) writes:
> In article <E93EJr.IBr@research.att.com> email@example.com (Andrew Koenig)
> > C++ built on C precisely so that it would appeal to the existing C
> > community.
> > As a result, support tools, a body of knowledge, and a community came along
> > more readily than they would have if the language had been designed totally
> > from scratch. And that knowledge and community, and those tools, are among
> > the main reasons why C++ is now in widespread commercial use and so many
> > of the designed-from-scratch languages are not.
> I would go further and say this is pretty much the _only_ reason why
> C++ has such widespread use. But, in the current context, this is
> really just the same tired old claim that "C++ is better than X,
> because C++ is more popular than X". A claim that was always dubious
> and which has certainly long since lost any plausibility that it might
> have ever had.
Not at all. Rather, it is a claim that programming is a human phenomenon,
and there can be a huge difference between how useful a tool -- especially
a language -- is in theory and how useful it is in practice.
Several years ago, I was on vacation in Norway and overheard a conversation
in a hotel between an English woman and a member of the hotel staff. It
went something like this:
`I've come here for a week every year for many years,
but I've never been able to learn Norwegian. I'm terribly
sorry about that.'
`Don't be sorry. If you learned Norwegian, who would you
speak it to when you were outside Norway? There are only
about five million speakers of Norwegian in the world.
We know that if we don't want to isolate ourselves, we have
to learn English.'
Now, English is a mess of a language. Its spelling rules are atrocious,
its grammar is unruly, it has far too many ways to say the same thing,
and even so, it is hard to talk about people without revealing information
about them, such as their gender, that may be irrelevant.
I have no doubt that speakers of many languages consider their languages
to be superior to English. They may even be right. But for many people,
especially those who live in or near English-speaking communities,
English is more useful.
So it is also with programming languages. If C++ had not built on C, it
would never have gotten out of the starting gate. So it had no choice
but to inherit its computational model from C. Many people consider other
computational models better, but there is far from a consensus as to
which one to use. So the C model, which C++ uses, remains the common tongue.
This is a behaviorial observation, not a value judgement.