Linux Today: Linux News On Internet Time.

Advogato.org: Why don't C++ and free software mix?

Dec 07, 2000, 03:09 (37 Talkback[s])
(Other stories by Dan Egnor)

"C++ is now widely adopted by the software development industry at large, but the free software world remains (for the most part) a bastion of C programming. Why haven't free software authors followed the general trend? (I'm not saying they should, but I'm looking for the reasons.)"

"Some of you may recognize this question from the GNOME-integration discussion, in which I asked why GLib is implementing its own object framework in C rather than simply using C++. The reasons given (portability to non-gcc environments, binary linkage requirements, universal access) are perfectly sensible for a greatest-common-factor library like GLib, but don't explain why C++ remains unused in general. The only major free software projects I know of that use C++ are KDE (for Qt, which is a commercial product that was once proprietary) and Mozilla (which was originally a proprietary commercial product as well). Are there others?"

"Why use C++? My reasons are that it offers typesafe, convenient abstract polymorphism (abstract base classes, allowing the clean separation of interface and implementation without icky "void casts"), that it offers typesafe, convenient parametric polymorphism (templates, allowing me to use generic containers, algorithms and patterns without sacrificing performance), and that its standard library includes the STL, which knocks the socks off anything available in the C world for power, flexibility and efficiency."

Complete Story

Related Stories: