OpenBSD, proactively-secure UNIX-like system
Java, the platform-neutral programming language
the successful open-source mobile platform
O'Reilly Android Cookbook
Checking Java Programs (eBook)
Groovy, superior Scripting for Java
Tomcat: The Definitive Guide
LHBooks: New, Used and Rare Books
The file(1) command
More Free Software / Info
History of Computing
Contact via email
Another Ian Darwin (nz)
Best viewed with
"Even when the facts are available,
most people seem to prefer the legend,
and refuse to believe the truth
when it in any way dislodges the myth."
-- John Mason Brown in Saturday Review,
cited in The Great Quotations by George Seldas.
Ian Darwin: Computing History, Myths and Legends
My Own Meagre Contributions
Who are the most important persons in the history of computing?
Nobody knows for sure, but certainly the following would be
among the Top 10 (actually, a dozen) for technical innovations and/or
for the first workable physical computer design,
and Countess Ada Lovelace for programming it
- Alan Turing, for computing theory
- John von Neumann for computing theory
- John Vincent Atanasoff and Clifford Berry at Iowa State University for
the first electronic computer (1937-42).
- John Mauchly and J. Presper Eckert of the University of Pennsylvania for
Manchester University for Baby, "the world's first stored program digital computer" (1948)
- John Backus et al, for FORTRAN and for BNF
- Thompson, Ritchie, Kernighan, McIlroy et al for
the Unix Operating System,
the C programming language,
hierarchical filesystems made popular, regular expressions applied to text,
the first widely-distributed email client (/bin/mail),
software tools/filters, pipes and diff (both McIlroy),
the setuid patent (Ritchie, assigned to the public domain), and many
other things we take for granted.
for inventing hypertext in the 1930's(!);
Vannevar Bush for the electronic form of hypertext (1945);
Doug Englebart (see below) for an early demonstration of it (1968),
Ted Nelson for making it popular among computer geeks;
Sir Tim Berners-Lee for making it practical (HTTP and HTML; early 1990's),
Marc Andreeson et al (Mosiac at NCSA/UIUC, then Mozilla (Mosaic Killa'?)
at Netscape) for making it pretty.
of SRI (a mile or so from PARC, see below),
for the computer mouse, for being one of the first advocates of interactive computing
(as opposed to batch computing) and one of the first demonstrations of hypertext,
for the idea of "augmenting the human intellect" (presaging both better forms of
social organization and human-computer collaboration),
and for other ideas used at PARC and elsewhere.
See this retrospective on the
"mother of all demos" at SRI.
(whose researchers included Alan Kay, Bob Metcalfe, Adelle Goldberg, Bob Lampson,
Peter Deutsch, et. al) for the second (and first widely-used) object-oriented language SmallTalk,
the Model-View-Controller pattern,
overlapping windows, bitmap-based word processors, the laser printer,
and almost everything we use today;
Kay for the Dynabook, which morphed into today's notebook computers.
Lampson & Deutsch also much earlier wrote a text editor which Thompson & Ritchie
used as a starting point for UNIX ed. PARC people also invented PUP,
the direct precursor of TCP/IP.
In short, most of what we today take for granted in desktop computing,
except for the mouse.
and Steve Wozniak for the Apple II, and Steve Jobs for the Macintosh,
the NeXT computer and OS, Apple's rebirth, the iPod, the UNIX/NeXT-based OS X,
the iPhone, and more.
Hiltzik (see below) claims that Lisa, Mac's predecessor, was almost finished
by the time Jobs first visited PARC, though it's often claimed that he
got most of the ideas from PARC.
There's a detailed
interview with John Sculley talking about Jobs as an industrial designer, certainly a
(Sculley was CEO of PepsiCo when the famous "Pepsi Generation" campaign
invented lifestyle advertising, which is one reason Apple's board of directors
hired him to be CEO over Jobs).
for the first practical Optical Character Recognition
at a time when everybody else said mini-computers could not handle this task,
and for his tireless promotion of human-computer collaboration;
he prophecies that humans and computers will merge in this (21st) century,
an event he and others refer to as "the singularity".
- IBM for the IBM mainframe, and for the IBM PC which unfortunately killed off
dozens of better personal computers
(including the nascent Xerox Star; again, see Hiltzik)
to become the "standard" desktop (1981)
visionary and founder of Digital Research,
inventors of CP/M and CP/M-86, of which Seattle's SC-DOS / QDOS (Quick and Dirty
OS) was a cheap knock-off that Bill Gates bought up.
Gary died in relative obscurity, like Mozart sans the poverty, forgotten in his own time,
hopefully to be remembered by history.
- Tim Paterson
of Seattle Computing wrote the SC-DOS (Seattle
Computer DOS) that was flipped by Microsoft to IBM,
the beginning of the road for the Microsoft Monopoly.
- The Three Amigos (Jacobson, Rumbuagh and Booch) and
for conceptual contributions to OOP, particularly the
Unified Modelling Language (UML) and the Rational Design Methodology.
The Gang of Four (Gamma, Helm, Johnson and Vlissides)
for conceptual contributions to OOP, particularly the
Design Patterns book.
- Jacob Palme
and others (Simula 67, 1967), Alan Kay/Adele Goldberg at PARC (SmallTalk, 1974),
Bjarne Stroustrup at Bell Labs (C++, 1976) and
James Gosling at Sun (Oak/Java, 1990) for practical contributions to OOP
(Gosling also wrote the first UNIX Emacs editor, the first object-oriented
window system NeWS, an early UNIX spreadsheet sc, and more).
- Bill Joy, Kirk McKusick, Keith Bostic and many, many more for
turning Bell Labs' UNIX into BSD (Berkeley UNIX): the fast filesystem,
long filenames, networking Sockets and a TCP/IP implementation; Joy for the vi
editor (1977?); Joy and others for the Sun Workstation (1982).
Bill Jolitz created the first port of BSD to the Intel architecture.
Jordan K. Hubbard and many others turned this into
Hubbard later worked at Apple leading a team that morphed FreeBSD
into the UNIX-based Macintosh OS X.
Others turned it into NetBSD;
Theo de Raadt and others created
OpenBSD , showing us new levels
of achievement in code correctness and security.
The OpenBSD project also gave us
OpenSSH to eliminate use of Telnet and rlogin
over the internet.
Still on the UNIX front, special mention to Linus Torvalds,
for cloning the UNIX kernel (with help from Andy Tanenbaum's MINIX filesystem)
resulting in Linux,
and Richard Stallman for cloning James Gosling's Emacs,
for cloning various C compilers into GCC,
and for inventing the GPL (GNU Public Virus), and for the tremendous
effort he has put into maintaining gnuemacs, gcc and many
other tools over the past two decades.
And Bill Gates, who actually invented little (he started by
cloning a Basic interpreter and buying an operating system), but
hired some of the best (when Xerox PARC was at the end of its first glory days)
and sold vigorously what they produced. For more on Mr. Gates, see
the Myths section below.
Many others have made significant contributions to computing
as we know it:
- Gordon Bell for the Digital Equipment PDP processors
(personal computers before PARC's, late 1960's)
- John McCarthy for LISP 1.5 (1962)
- Gene Amdahl for the IBM mainframe architecture (1965)
and Amdahl Computers (IBM mainframe clones)
- Fernando Corbato for writing CTSS
(Compatible Time Sharing System, 1963)
Gordon E. Moore, Intel co-founder, for Moore's Law
- Niklaus Wirth for many ideas, and for the Pascal language.
- Warnock and Geschke, for PostScript, and for Adobe Illustrator.
- Peter Deutsch (the Canadian), for developing Archie while at
McGill University; Archie is (was) an indexing service popular
before the Web,
- the other Peter Deutsch, who previously worked at Xerox PARC,
for GhostScript, the most successful clone of PostScript
- Donald Knuth for TeX, the second great batch text formatter,
and for his encyclopaedic series The Art of Computer Programming,
first issued around 1968 (I still have my first edition of Volumes 1-3).
- Ralph Griswold for SNOBOL4 (1971) and ICON (1983) programming languages.
(my first application of "software tools" was a set of half a dozen SNOBOL4
programs, each of which made one small
transformation over the text of an entire University calendar that
was being migrated from one text formatter to another),
- Larry Wall for rn, patch and Perl;
Randall Schwartz, Tom Christiansen & others for improving
and popularizing it.
- John Ousterhout for Tcl/TK
- Guido van Rossum for Python
- Jeff Hawkins for the Palm Computing
platform, the first and only successful mass-market handheld
- Conway and others for promulgating
VLSI, the hardware technique that made desktop computing feasible
- Brian Kernighan for AWK (with Aho and Weinberger), ditroff, pic, grap, etc.
- Mike Lesk for grep, uucp, lex, tbl, refer, and other contributions to UNIX
- Steve Johnson for the Portable C Compiler
- Don Davies, for the phrase "packet switching" -- Paul Baran had called
it ``distributed adaptive message block switching'' (DAMBS would never
have made it :-))
- J. Licklider, Larry Roberts, Bob Taylor and others (and the US taxpayers!)
for enabling the development of the ArpaNet, which as we all know transmogrified
itself into the Internet (no, Al Gore did not invent that either).
- Steve Crocker for RFC 1 - creating the RFC mould -
and Jon Postel
for many contributions to the Internet, including helping develop TCP/IP,
serving as RFC editor, and running IANA.
- Eric Allman for Sendmail (1978)
- NCSA, W3C, and The Apache Project
for the Apache Web Server which made the Web easy to serve up.
- David Korn for the Korn Shell, based in part on Steve Bourne's sh
- MIT and The X Consortium for The X Window System, which
gave birth to The XFree86 Project
- Sun Microsystems for NFS (open protocol), RPC (open source, 1984?)
and XView, the first
open-source professional-quality X Window System toolkit (1988).
XView introduced the right-button context menus now used in Windows 95 and Java.
- Dr. Charles Goldfarb for inventing, and
Yuri Rubinsky among others for promulgating,
SGML, the ancestor of both HTML and XML;
Tim Bray, Jon Bosak, and others working with the World Wide Web consortium, for inventing XML.
- Andy Rubin for mashing up the Linux kernel, the BSD userland, and
a Java runtime to create the first versions of
Android (Rubin later created
the self-named Essential Phone).
Sources, References, More Reading, etc.
See a similar list
here (enable your
pop-up and banner blocker before visiting).
Some of the above factoids were gleaned from Peter Salus, via his history
column in the June 2000 issue of
and via personal correspondence.
Others come from the books and papers below (including the one I co-wrote).
See also Matt Raible's
History of Web Frameworks
(scroll down to see the chart).
The following books and papers contain more details:
- Chris Ford's
100 Years of
Computer Science presents ten formative academice papers that are certainly worth reading.
- Dennis Ritchie's
Computing History Page at Bell Labs.
- Mike Mahoney's
Oral History of UNIX
- Mark Brader's meticulous
Chronology of Digital Computing.
- A Computer Geek's History of the Internet.
Dealers of Lightning, by Michael Hiltzik (1999),
tells the story of Xerox PARC and how they invented so much of what we
take for granted in personal computers, including window systems,
the second OO language and the File/Edit/View style of programming,
the Model-View-Controller design pattern.
Oh, and the laser printer. And, the Internet.
If you only have time to follow up on one item from here, let this be it.
What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer
by journalist John Markoff.
More on the history of the computer revolution,
apparently (I've not read this one!) emphasising the effects of the drug culture
on the evolution of computing.
Computer Lib/Dream Machines by Ted Nelson (1974),
a survey of then-current ideas and trends in computing. Very California.
Lists many important researchers and ideas that Hiltzik fails to credit.
Nelson is today better known for
Xanadu, his hypertext system.
Eric Raymond's brief History of Hackerdom
actually has fewer details but presents a comprehensible overview.
Weaving the Web, by Sir Tim Berners-Lee.
By the person who deserves most of the credit for inventing the World Wide Web.
His own tale of how the Web came to be, and where it should be going.
A Quarter Century of UNIX by Peter Salus,
tells the story of UNIX from its inception in 1969
through the first twenty-five years of its life.
UNIX is only the second widely-used commercial operating system to survive a
quarter century (the other being IBM's mainframe OS/MFT/MVT/MVS/).
- See also this UNIX "family tree" history chart that I co-developed
(PDF or graphviz input).
- See also
a Unix history chart from Wikipedia
(linked from this Wikipedia article on BSD.
older, unmaintained, but more personal chart
Computers: An Illustrated History, by Christen Wurster,
ISBN 3-8228-1293-5, 2002.
- Eric Raymond: Things every hacker once knew
- John Lions'
Commentary on UNIX 6th Edition. Not a book about history, but a
very wonderful book on an historical (PDP-11) edition of UNIX. First published
in 1976 at the University of New South Wales, it was only made available
to official licensees of AT&T UNIX. Despite this, it circulated widely
in photocopies of photocopies and, in fact, a generation of UNIX hackers
cut their code teeth on it. Finally released to the public in 1996 through
the efforts of Mike Tilson (then CIO of SCO, who had purchased the
master license to UNIX from AT&T), Peter Salus of USENIX, and others.
As Salus notes, "the code is now out of date... the comments are not".
As Ken Thompson notes, ``After 20 years, this is still
the best exposition of the workings of a "real" operating system.''
PDP Unix Preservation Society (PUPS)
has an archive of old Unixes: V3, V5, the V6 that Lions commented upon,
PWB, V7, 32V, PDP-11 BSDs etc.
These are all now
freely available, under the BSD license.
PUPS also have links to PDP-11 emulators; imagine running the UNIX from
Lions' book on a virtual PDP-11 running on an Athlon 1000.
The Design and Implentation of the 4.4BSD Operating System,
by McKusick, Bostic, Carels and Quarterman.
Primarily an implementation text, but full of historical nuggets, including
references to papers that influenced the design of each part.
- 340 Top Computing History References
(I was flattered to find my UNIX history paper cited there!).
- John W. Maxwell has several papers on computing use in Canadian publishing, including
Early Unix Culture at Coach House Press by John W. Maxwell,
Canadian Centre for Studies in Publishing, Simon Fraser University
Coach House Press: Crucible of Electronic Publishing Technology.
(I am quoted in these, and I may be the photographer of the uncredited picture of Yuri Rubinsky in the latter).
- ArsTechnica's complete history of Android,
the system running on that little computer (i.e., smartphone) in your pocket.
- Another Timeline of Computing,
starts earlier than most, modern part more focussed on the Apple and PC subsets,
no mention of Unix or Sun or Java. Hosted at a mailing list company.
Does link to an interesting paper by Okabe on
early camera-phone usage, from a time before Facebook and iPhone/Android came along.
Link provided by Alex from Mills Community House.
- Other computing history papers... (tell me about them!)
The Myths section is highly opinionated. Caveat lector.
Myths about Computing
There are so many, it's hard to know where to begin. So start here:
Myths about life
This doesn't really relate to computer history but hey, it
had to go somewhere. And, at any rate, there are plenty to pick from: