Re: How did C++ beat the competition?
From: Eric (ericmuttta_at_email.com)
Date: 10 Mar 2004 23:47:08 -0800
Hattuari <firstname.lastname@example.org> wrote in message news:<Js2dnTOLz_DxZNDdRVnemail@example.com>...
> Eric wrote:
> > I would say so too. I wonder just how large a part did the marketing
> > might of the likes of Microsoft and Borland, contribute to C++'s
> > success within the last decade.
> You hit the nail on the head. The supporting tools were there. Especially
> with Borland. But there were a few other companies offering reasonably
> usable IDEs. That is, according to the accounts of others. The only one I
> used was Borland. Most of that was for C, not C++, per se.
Indeed. Tool support is always a major contributing factor (Visual
Basic for example, wouldn't be where it is today if it wasn't for the
great IDE and debugging experience that came with it). That being
said, what was it about C++ that made the likes of Microsoft and
Borland invest money in developing tools for it? Again the ease of
transition from C is a factor, since both these vendors had C
compilers at the time. However I do wonder if the effort required to
transform a C compiler into a C++ one was any different to the effort
required to transform a C/Pascal compiler into an
Objective-C/OO-Pascal compiler, especially given the complexity of C++
when compared to these alternatives.
> But the solid, (relatively) intuitive, framework provided by the Borland IDE
> made coding much easier for a beginner. I still find that type for
> framework helpful.
Absolutely. I came across the IDE for Turbo C from Borland, ages ago
and found it much more friendlier than the complex albeit more
powerful Microsoft Visual C/C++ IDE.
Availability of supporting tools is half the story. The ease-of-use of
those tools is paramount to the success of a language. Is there any
one who can comment about the relative ease-of-use of development
tools available for C++ and the other languages mentioned, back in the
days? (I keep on hearing for instance, that Smalltalk had/has very
> > Although I'm lacking figures, I am
> > under the general impression that C++ is not so much *gaining* any
> > more significant popularity, but is rather *retaining* its popularity
> > for use in application domains where it has succeeded in the past
> > years.
> Mozilla is, to a large extent, written in C++. There's also a lot of
> and the KDE are written in C++, as are most of the K and G apps, and many
> other open source products.
I think the wide-spread use of C++ in open source projects is one of
the ways in which C++ continues to attract new programmers. In fact, I
myself learnt C/C++ for this very reason - to read open source code
(and to work with the Windows API). Nowadays, being able to atleast
read C/C++ is as useful as being able to speak English.
> > I find it interesting that I am running 8 serious applications on my
> > machine now and I can almost say with certainty that only 1 of them is
> > not written in C++ (EditPad Pro which appears to have been done in the
> > O-O Pascal of Delphi.)
> Does LISP count? I use XEmacs, the foundation of which is mostly written in
> C, with C++ only recently introduced. Most of the functionality, however,
> comes from LISP.
LISP counts but probably wasn't mentioned because it hadn't taken to
the OOP scene at the time(?). When did the CLOS (Common LISP Object
System) come into use within the LISP community?
> I believe the failure of the Java community to better develop the GUI
> support has been a limitting factor in it's adoption as a GUI tool.
> Ironically, I believe that is one of Java's inherent strengths. With just
> a few enhancements and improvements, it would be very easy to build
> attractive, functional GUI apps.
You may be right. However, if all it would take is "a few enhancements
and improvements" why hasn't the Java community done anything to
remedy the situation? (or have they already done so?). I was under the
impression that it was Java's performance issues that impeded its move
onto the desktop. (I am no Java expert so corrections/alternative
observations are welcome.)
> I find TrollTech's Qt to be cleanly implemented in a simple, yet powerful
> way. It really is a pleasure to work with. I've just recently learned of
> some minor enhancements in their GUI builder called Designer which make a
> very big difference to me. That, BTW is pretty much all C++ and XML.
> TTTT, that's what got me interested in really learning C++.
Interesting. I find that once someone has been programming in a
language for a long time (and where that language is perfectly
adequate for their needs), the most powerful force likely to get them
interested in another language, is the availability of
interesting/useful projects/products done in that other language.
I have this thing I call the Killer Application Principle (KAP), which
basically says that, in order to improve the popularity of a
programming language, you need to write a killer (i.e
useful/interesting/etc) application in it and make it open source.
This exploits the partially illogical but common reasoning: if a
language X was used in making a killer application Y, then language X
must be a killer language too. So if I learn it, I can know how Y
works and maybe even make my own killer application Z.
C and C++ have been doing that with things like Sendmail, Bind,
OpenOffice, GCC, Mozilla, Linux, etc. C++ probably ultimately owes it
popularity to open source and the KAP principle. Unix was a killer
application in that it was the first(?) OS not fully implemented in
assembly language, and had some good OS implementation ideas. It was
written in C and distributed in source form for a while, IIRC, and
that did wonders for the popularity of C. C++ leveraged C's popularity
by having as one of its primary objective, the property of being
backward compatible with C.
So Unix got popular because of being temporarily open source (among
other things). C got popular because it was used to implement Unix.
C++ is popular primarily because its backward compatible with C.
Therefore, C++ is popular ultimately and indirectly because of open
source. Pop into Source Forge:
and it is evident that the saga continues.
> As for the sucess of C++? Don't forget the catchy name.
Microsoft must have taken that into consideration when they thought of
the C# name :-D
Eric Mutta :-)