Chapter 14. The Dream Language

Of all tyrannies, a tyranny exercised for the good of its victims may be the most oppressive.

C.S.LEWIS

A friend of mine once told an eminent operating systems expert that he wanted to design a really good programming language. The expert said that it would be a waste of time, that programming languages don’t become popular or unpopular based on their merits, and so no matter how good his language was, no one would use it. At least, that was what had happened to the language he had designed.

What does make a language popular? Do popular languages deserve their popularity? Is it worth trying to define a good programming language? How would you do it?

I think the answers to these questions can be found by looking at hackers, and learning what they want. Programming languages are for hackers, and a programming language is good as a programming language (rather than, say, an exercise in denotational semantics or compiler design) if and only if hackers like it.

The Mechanics of Popularity

It’s true, certainly, that most people don’t choose programming languages simply based on their merits. Most programmers are told what language to use by someone else. And yet I think the effect of such external factors on the popularity of programming languages is not as great as it’s sometimes thought to be. I think a bigger problem is that a hacker’s idea of a good programming language is not the same as most language designers’.

Between the two, the hacker’s opinion is the ...

Get Hackers & Painters now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.