Chapter 14. Two Comparisons of Programming Languages

Lutz Prechelt

At parties, stereotypical programmers tend to be the quiet kind. There is one topic, however, that is sure to produce not only their rapt attention, but also plenty of verbal contribution: programming languages! Everyone has lots of factual knowledge of several languages, accompanied by plenty of opinion regarding which one is best and why. Any evidence, too? Yes, seasoned programmers will also have a number of war stories to tell where something went particularly well or not well because of the language used: “I estimated this to be a ten- or fifteen-hour job, but then I decided to use language X instead and had it all up and running after just three hours—and mighty readable, too!”

The problem with such evidence is that it usually doesn’t involve any direct comparison of languages, and if it does, you are lucky if that comparison is apples-to-oranges; more likely it is apples-to-orangutans.

One would think that scientists would have jumped at this opportunity to make an immensely popular and hugely relevant contribution to the field of computer programming and would have produced a long series of wonderful, clean studies comparing the pros and cons of various programming languages. Candidate topics for research projects abound: such topics as execution speed, memory consumption, defect rates, defect types, reliability, robustness, readability, modifiability, programming productivity, and many more.

But for reasons that so far I have been unable to determine, this has never happened. The scientific evidence available in this regard is scarce. And though serious studies tend to be much less entertaining than the war stories told at parties, the latter often do not offer more credibility [Hudak and Jones 1994].

In my career, I have encountered two opportunities to perform reasonably convincing language comparisons and grabbed them. This chapter tells the story of these two studies.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset