Reference
A timeline of computing ideas
Not a timeline of machines or megahertz, but of ideas — the moments when someone saw the computer differently.
-
1843
The first algorithm — and the first vision of software
Ada Lovelace
In her notes on Charles Babbage's Analytical Engine, Lovelace writes what is often called the first published algorithm, and — more remarkably — grasps that such an engine could manipulate not just numbers but any symbols, including music. The machine, she wrote, "weaves algebraic patterns just as the Jacquard loom weaves flowers and leaves."
History of Programming -
1936
The universal machine
Alan Turing
"On Computable Numbers" defines computation precisely and proves that one universal machine can imitate any other given its description. Software, and the dissolving line between machine and data, begin here — before any electronic computer exists.
History of Programming -
1945
As We May Think — the memex
Vannevar Bush
In The Atlantic, Bush imagines the memex: a desk that stores all your books and records and links them by associative trails. It is the headwaters of hypertext and of computing as a tool for thought.
Computing as a Tool for Thinking -
1958
Lisp and code as data
John McCarthy
McCarthy designs Lisp; his 1960 paper introduces the metacircular evaluator — Lisp defined in Lisp. Programs are lists; lists are data; code can write code. Alan Kay would later call eval "the Maxwell's equations of software."
Languages & Paradigms -
1960
Man–Computer Symbiosis
J.C.R. Licklider
Licklider argues humans and computers should be coupled so tightly they think together, the machine handling the clerical work that merely prepares us to think. As head of ARPA's IPTO, he then funds the future he described.
Computing as a Tool for Thinking -
1962
Augmenting Human Intellect
Douglas Engelbart
Engelbart lays out a conceptual framework for using computers to raise humanity's collective ability to solve complex problems — intelligence augmentation, not artificial intelligence — and begins building the system to prove it.
Computing as a Tool for Thinking -
1963
Sketchpad — direct manipulation is born
Ivan Sutherland
Sutherland's MIT thesis lets a user draw with a light pen while the system maintains geometric constraints live. It is the ancestor of the GUI, of direct manipulation, of CAD, and of object-oriented graphics.
Future of Programming -
1965
Hypertext gets its name
Ted Nelson
Nelson coins "hypertext" and "hypermedia" for non-linear, linked writing, and begins Project Xanadu. His 1974 Computer Lib / Dream Machines becomes a manifesto for the personal, liberating computer.
Computing as a Tool for Thinking -
1967
Logo and the turtle
Papert, Feurzeig & Solomon
At BBN, Logo is created as a programming language for children. Its turtle turns geometry into something you can do with your body, and quietly introduces children to recursion and procedure.
Papert & Constructionism -
1968
The Mother of All Demos
Douglas Engelbart
On December 9, Engelbart demonstrates NLS to 1,000 people: the mouse, hypertext, screen editing, windows, version control, and live video collaboration — most of interactive computing, in 90 minutes, in 1968.
Computing as a Tool for Thinking -
1972
The Dynabook
Alan Kay
Kay describes "A Personal Computer for Children of All Ages" — a notebook-sized dynamic medium for creating, not just consuming. The vision drives the work at Xerox PARC and still indicts the tablets we actually carry.
Alan Kay & Smalltalk -
1972
Smalltalk and the big idea of messaging
Kay, Ingalls & Goldberg
At PARC, the first Smalltalk runs. Everything is an object; objects communicate only by sending messages; the system is live and malleable to its core. It is object-oriented programming in its original, radical sense.
Alan Kay & Smalltalk -
1973
The Xerox Alto
Xerox PARC
The Alto brings the bitmapped display, the mouse, the desktop metaphor, and overlapping windows together in one machine running Smalltalk — a working sketch of personal computing a decade before the Macintosh.
Alan Kay & Smalltalk -
1979
Notation as a Tool of Thought
Kenneth Iverson
In his Turing Award lecture, the inventor of APL argues that good notation doesn't just record thought but amplifies and shapes it — that the right symbols make new thoughts easy to have.
Computing as a Tool for Thinking -
1979
The spreadsheet — end-user programming arrives
Bricklin & Frankston
VisiCalc turns millions of non-programmers into programmers who never use the word. The most successful end-user programming environment ever built ships as a "killer app" for the personal computer.
Future of Programming -
1980
Mindstorms is published
Seymour Papert
Papert's Mindstorms: Children, Computers, and Powerful Ideas argues that children can use computers to think about thinking, learn powerful ideas by building, and own a piece of modern technology. The book this site is named for.
Papert & Constructionism -
1980
Smalltalk-80 goes out into the world
Adele Goldberg & the PARC team
Smalltalk-80 is the version released beyond PARC, spreading the ideas of the live object environment, the class browser, and the integrated development environment to the wider industry.
Alan Kay & Smalltalk -
1983
Direct manipulation, named
Ben Shneiderman
Shneiderman names and analyses "direct manipulation": continuously visible objects, physical-feeling actions, immediate and reversible effects. It explains why the GUI felt so different — and why programming still mostly doesn't work this way.
Future of Programming -
1989
Worse is Better
Richard Gabriel
Gabriel names the uncomfortable dynamic by which simpler, uglier designs (C, Unix) outcompete more correct ones by spreading faster — and spends years arguing with himself about whether that's a tragedy.
Languages & Paradigms -
1991
The World Wide Web
Tim Berners-Lee
Berners-Lee's Web makes hypertext global and ordinary — keeping one-way links and dropping much of Nelson's Xanadu vision, but bootstrapping the largest tool-for-thought, and tool-for-distraction, ever built.
History of Programming -
2003
"The computer revolution hasn't happened yet"
Alan Kay
Kay receives the Turing Award. In talks around this time he insists the real revolution — the computer as a literacy-grade medium for thought — is still ahead of us, and that the industry mistook the pop-culture version for the thing itself.
Alan Kay & Smalltalk -
2007
Scratch
Mitchel Resnick & MIT Media Lab
Scratch carries Papert's constructionism to a new generation: a block-based language where children make and share interactive stories, games, and animations. Logo's grandchild, with millions of young authors.
Papert & Constructionism -
2012
Inventing on Principle
Bret Victor
Victor argues that creators need an immediate connection to what they create, and demos editors where changing the code instantly changes the running result. Live programming finds its sharpest modern voice.
Future of Programming -
2013
The Future of Programming
Bret Victor
Performing as an engineer in 1973, Victor surveys the radical ideas of early computing and warns that the greatest danger is to forget they were ever open questions — to believe "this is how programming is."
Future of Programming -
2014
Dynamicland and the room as computer
Bret Victor & collaborators
Victor's research turns toward computing you inhabit physically and socially — programs as paper objects on a table, shared in a room — pushing the tools-for-thought tradition past the glass rectangle.
Future of Programming