Being Popular
Paul Graham’s essay Being Popular argues that programming language popularity depends less on inherent merit than on meeting practical hacker needs.
What Determines Popularity
Languages don’t succeed based purely on technical excellence. “Expert hackers” drive adoption—they identify quality tools and influence broader communities. But languages must first gain a critical mass of about twenty independent users to become “real.”
Essential External Requirements
- A free implementation
- A well-written, accessible book
- Something meaningful to build (ideally becoming the scripting language of an established system)
Hackability and Brevity
Hackers prioritize terseness and the ability to “subvert” language constraints. Classic Lisp macros are “powerful, and dangerous” tools granting programmers genuine control.
Practical Features
Successful languages excel at:
- Writing throwaway programs quickly
- Providing comprehensive libraries
- Supporting interactive development with fast startup
The Organic Growth Model
“Garage startup” incremental development typically produces superior technology compared to “big bang” heavily-marketed launches.
My Takeaway
Languages improve through continuous iteration with small, demanding user bases. Committee-driven design paralyzes improvement.
What makes a language popular in your view? I’d love to hear at persdre@gmail.com.