Alan Kay
Pioneer of object-oriented programming who said 'the best way to predict the future is to invent it'
Alan Kay is a Xerox PARC researcher, inventor of object-oriented programming and Smalltalk, and early advocate of personal computing. His Dynabook vision anticipated modern tablets, and his GUI research influenced the Apple Macintosh interface. He received the Turing Award in 2003. His most famous aphorism — 'the best way to predict the future is to invent it' — encapsulates his entire research philosophy.
Methodologies
- Future Vision Reverse Engineering - First clearly describe the ideal future state, then reverse-engineer what needs to be done today, rather than making incremental improvements from current conditions.
- Message-Passing System Design - Design systems as independent autonomous units collaborating through explicit message interfaces, not coupled through shared state.
Key decisions and timeline
- 1966-09 Entered University of Utah for PhD, Encountered Sketchpad - Encountering truly breakthrough work can often change a person's entire research trajectory.
- 1970-01 Joined Xerox PARC, Began Smalltalk Research - Give top researchers freedom and resources, and they can create results that change entire industries.
- 1972-08 Published Dynabook Memo, Envisioned the Tablet Computer - A clear vision document can influence product designs decades later.
Beliefs and mental models
- Belief 1 - The best researchers do not predict technology trends but actively create new possibilities. PARC's research approach was to imagine what computers should look like 20 years later, then start building it today.
- Belief 2 - The true potential of computers lies in being a new medium for expression and thought, just as printing changed human thinking. The personal computer revolution is not about making work faster but enabling humans to think and create in entirely new ways.
- Belief 3 - Alan Kay later acknowledged that 'object-oriented' was misunderstood; the core of OOP is not classes and inheritance but message passing between objects — each object is an independent computer communicating with others through messages.
- Model 1
- Model 2
- Model 3