The Perfect Programming Language

By Deane Barker on June 20, 2005

Being Popular: Here’s an extremely long but interesting essay from Paul Graham about how to design the perfect programming language. He has no plans to do this, of course, but in considering the question he covers a lot of ground on why certain languages have thrived and others haven’t.

For example:

To become popular, a programming language has to be the scripting language of a popular system. Fortran and Cobol were the scripting languages of early IBM mainframes. C was the scripting language of Unix, and so, later, was Perl. Tcl is the scripting language of Tk. Java and Javascript are intended to be the scripting languages of web browsers.


One thing hackers like is brevity. Hackers are lazy, in the same way that mathematicians and modernist architects are lazy: they hate anything extraneous. It would not be far from the truth to say that a hacker about to write a program decides what language to use, at least subconsciously, based on the total number of characters he’ll have to type.

And of course:

There is one thing more important than brevity to a hacker: being able to do what you want. In the history of programming languages a surprising amount of effort has gone into preventing programmers from doing things considered to be improper. This is a dangerously presumptuous plan. How can the language designer know what the programmer is going to need to do?

Something to know: Paul Graham hates Java, so if you’re a Java programmer, prepared to be offended. (It was a comment to that post by Joe Langeway that led me to this essay.)