|
Darwin's Theories:
Ian's Blog
OpenBSD, proactively-secure UNIX-like system
Java, the platform-neutral programming language
Checking Java Programs (eBook)
OpenMoko,
the open "freed phone"
Asterisk
and VOIP
Groovy, superior Scripting for Java
Tomcat: The Definitive Guide
LHBooks: New, Used and Rare Books
Free Software and Info
High-tech Training
Bibliography
History of Computing
Mailing lists
Fight SPAM!
Contact via email
LinkedIn Profile
"Darwin" Operating System (named without my consent :-))
Another Ian Darwin (nz)
Toastmasters
QuickLinks:
Unix
Java
Humour:
XKCD
PHD
Best viewed with Any Browser!
|
"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
Computing Legends
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
key ideas:
- Babbage, 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; predates Eniac).
- John Backus et al, for FORTRAN and for BNF
- Thompson, Ritchie, Kernighan, McIlroy et al for UNIX, C,
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.
- Vannevar Bush for hypertext (1945); Ted Nelson for making it popular,
Tim Berners-Lee for making it practical (HTTP and HTML),
Marc Andreeson et al (Mosiac at NCSA/UIUC, then Mozilla (Mosaic Killa'?)
at Netscape) for making it pretty.
- Xerox PARC (Kay, Metcalfe, Goldberg, Lampson, Deutsch, et. al) for
overlapping windows, bitmap-based word processors, the laser printer, and more;
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.
- Doug Englebart of SRI (a mile from PARC),
for the mouse, and for other ideas used at PARC
- Steve Jobs and Steve Wozniak for the Apple II, and the Macintosh.
Hiltzik (see below) claims that Lisa, Mac's predecessor, was almost finished
by the time Jobs first visited PARC.
- 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 (1981)
- 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
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 FreeBSD;
others created NetBSD;
Theo de Raadt and others created OpenBSD, showing us new levels
of achievement in code correctness and security.
OpenBSD gave us OpenSSH to eliminate use of Telnet and rlogin
over the internet.
Hubbard later worked at Apple leading a team that morphed FreeBSD
into the UNIX-based Macintosh OS X.
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;
Jon Bosak, the World Wide Web consortium, and others for inventing XML.
Some of the above factoids were gleaned from Peter Salus, via his history
column in the June 2000 issue of
Linux Journal
and via personal correspondence.
Others come from the books and papers below (including the one I co-wrote).
Sources
The following books and papers contain more details:
- Dennis Ritchie's
UNIX/C
Computing History Page at Bell Labs.
- 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 a UNIX history chart that I co-developed
(newer version - PDF or input).
-
Computers: An Illustrated History, by Christen Wurster,
ISBN 3-8228-1293-5, 2002.
- 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.''
- The
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!).
- And, of course, comments and suggestions from a variety of
readers like yourself!
- Other UNIX 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:
Send more myths/legends, or comments on these ones.
|