The Hundred-Year Language

Paul Graham’s essay The Hundred-Year Language explores what programming languages might look like in 100 years.

Language Evolution

Languages form evolutionary trees with dead-ends. Graham predicts Java will become an “evolutionary dead-end” like COBOL—not because it’s unsuccessful now, but because it won’t produce meaningful descendants.

Core Language Matters

The fundamental operators determine long-term survival. “The more of a language you can write in itself, the better.”

Efficiency as Non-Issue

With vastly faster hardware, wasting programmer time through awkward syntax becomes worse than wasting machine cycles. Version 1 programs should prioritize ease of writing over performance.

Flattening Data Structures

Specialized types like strings or arrays might not need to be fundamental. They could be implemented as optimizations rather than core features.

Design Methodology

Write the program you’d like to code regardless of compilation feasibility. Optimize for parse-tree brevity as a proxy for effort required.

My Takeaway

Understanding which languages will matter long-term helps us choose better languages today. Bet on the main evolutionary branch.


What do you think programming will look like in 100 years? I’d love to hear at persdre@gmail.com.