Original ↗
Technology
What Languages Fix
paulgraham.com
Technology
1 min read → 35 sec
Programming languages can be understood by the specific weakness they corrected in earlier languages. The piece maps language families as chains of fixes, from lower-level control to safer syntax, richer types, objects, arrays, and accessibility.
Programming languages make sense as fixes for earlier languages.
A language's niche is the gap it first filled for early users.
02 / 11
003
Many languages spread by fixing what earlier languages lacked.
They felt less scary, less kludgy, or more capable.
03 / 11
004
Language lineages often form chains of fixes.
Assembly led to Fortran, C, C++, and Java.
04 / 11
Assembly was too low-level for several successors.
INDEX
001
Fortran fixed that.
002
Algol fixed that.
003
C fixed that.
05 / 11
Algol and Fortran lacked enough data types.
INDEX
001
Pascal fixed that.
002
PL/1 fixed that.
06 / 11
Some languages fixed narrow technical limits.
INDEX
001
Modula fixed Pascal for systems programming.
002
Simula fixed Algol for simulations.
003
APL fixed Fortran for array manipulation.
07 / 11
Later fixes kept narrowing the gap.
INDEX
001
Smalltalk fixed Simula by making everything an object.
002
J fixed APL requiring its own character set.
08 / 11
One chain runs through C, C++, Java, and C#.
INDEX
001
C++ fixed C being too low-level.
002
Java fixed C++ being a kludge.
003
C# fixed Java being controlled by Sun.
09 / 11
010
Basic, Cobol, Javascript, and Python spread by feeling less scary than earlier languages.
10 / 11
Read the full source
What Languages Fix
paulgraham.com
11 / 11
Carouse
Turn any article, video, or podcast into a carousel you can browse in 30 seconds.
Carouse any link