Friday, January 11, 2008

The Emperor's Old Clothes

I've recently reread the C.A.R. Hoare's Turing award acceptance speech (available here among other places). And I thought one particular paragraph applies very well to C++:

Programming is complex because of the large number of conflicting objectives for each of our programming projects. If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather than part of its solution.

I guess we - the programming language designers - haven't learned the lesson even after all those wise warnings.

2 comments:

Emmanuel Stapf said...

I would cite Eiffel as a programming language which is part of the solution. And it got the ACM system award in 2007.

Spark said...

Eiffel is nice, but too bad it relies on garbage collection.

It's rather unfortunate that Eiffel didn't have a chance to catch on before C++ or Java gained enough momentum, and it's probably too late at this point in time due to the sheer momentum of those languages...