The problem that built C++ (a thesis)

At least at one point, there were a lot of people who loudly couldn't understand why C++ was still around as a going concern. After all, didn't Java have it beat hollow, as Java was a much more productive object oriented language to develop in?

Such people implicitly believe that that problem that built C++ is 'building object oriented programs'; now that there was a well known better solution to that problem, they couldn't see why C++ didn't wither away. But they're wrong.

My thesis is that the problem that built C++ is actually 'we want to build big software projects in a language with predictable, fast native code'. It turns out that there are an important class of programs for which you want these attributes; if nothing else, you need to build the basic blocks of your JVM or your CLR out of something.

While C is a language with predictable fast native code, it is not entirely suitable for big projects because the complexity explodes unless you do something. Objects are a good way of containing the complexity of a big project (partly by reducing connections), and C++ gives them to you while C forces you to build them by hand.

(This is not to say that C++ was never used as a general object oriented programming language; it was, when better languages weren't available. When they became available, C++ started being driven out of that job and back into its core line of work.)

These are my WanderingThoughts
(About the blog)

GettingAround
Full index of entries
Recent comments

This is part of CSpace, and is written by ChrisSiebenmann.

* * *

Atom feeds are available; see the bottom of most pages.

This is a DWiki.
(Help)

Categories: links, linux, programming, python, snark, solaris, spam, sysadmin, tech, unix, web

Search:
Written on 15 August 2007.
(Previous | Next)

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Aug 15 23:03:36 2007
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.