Get legal. Get OpenOffice.org


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!)

Myths

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.