ArsDigita History of Computer Science
by Philip Greenspun (philg@mit.edu)
Submitted on: 2000-09-01
Last updated: 2000-09-13
ArsDigita : ArsDigita Systems Journal : One article
The ArsDigita History of Computer Science is a biased perspective
giving weight to computing advances that directly aided collaboration
among human beings.
- 1833: Charles Babbage (1792-1871) abandons Difference Engine No. 1, a
mechanical calculator. British government losses: 17,470 pounds,
enough to purchase two battleships.
- 1839: Babbage resigns his chair at Cambridge to spend full time
designing
Babbage's Analytical Engine, a
steam-powered, general-purpose, mechanical computer. This is the world's
first true computer but it was never fabricated.
- 1918: German engineer Arthur Scherbius patents the Enigma cipher
machine, 30,000 of which are ultimately sold to the German military.
- 1934: Polish mathematician Marian Rejewski develops "bombe", a
mechanical aid to cracking the Enigma cipher
- 1937: English mathematician Alan Turing (1911-1954) publishes "On
Computable Numbers" demonstrating that not all mathematical questions
are decidable. The paper introduces the idea of a what has come to be
called a universal Turing machine.
- 1940: Turing's improved "bombe" (cost: 100,000 pounds) starts
working in Bletchley Park, Britain's WWII cryptanalysis center.
- 1943: Mathematician Max Newman and engineer Tommy Flowers build
Colossus, a 1500-vacuum tube programmable computer, in aid of the
Bletchley Park codebreaking effort. (This prefigured the 1945 ENIAC,
developed at University of Pennsylvania, but was kept secret for
decades after WWII.)
- 1945: Vannevar Bush publishes
"As We May Think" in The
Atlantic Monthly, a vision of machines used to aid in
information storage and retrieval and to support new systems for
disseminating research results.
- 1949: EDSAC started up at Cambridge University in England. The
first Von Neumann or "stored-program" machine, where the instructions
are stored in the same type of memory as data. Earlier machines, such
as ENIAC, relied on reconfiguring a patch panel to change the program.
- 1950: Turing test paper in the journal Mind
- 1952: Alan Turing, the man who did more to save British lives and
shorten WWII than any other, prosecuted by the British government for
homosexuality. He is tried, convicted, and stripped of his security
clearance.
- June 7, 1954: Depressed by his criminal conviction, public
humiliation and the forced hormone treatment that made him impotent
and obese, Alan Turing eats an apple dipped in cyanide and dies, aged
42.
- 1957: Commercial availability of Fortran, the first high-level
programming language, developed at IBM by John Backus.
- 1959: Completion of a practical interpreter for Lisp, the first
modern programming language, developed at MIT by John McCarthy.
AT&T reject's John Baran's proposal for a packet-switched network
in which messages would be broken up into discrete packets and mixed
during transmission with packets from other messages.
- 1961: Leonard Kleinrock publishes "Information Flow in Large
Communication Nets" as an MIT Research Laboratory of Electronics
Progress Report. This proposes a packet-switched network.
- 1962: J.C.R. Licklider proposes a "Galactic Network" of globally
interconnected computer systems and then leaves MIT to take up a job
at the Advanced Research Projects Agency (ARPA), a part of the US
Defense Department.
- 1963: The first practical multi-user operating system developed at
the MIT. Compatible Time-Sharing Systems (CTTS) supported 32 users at
interactive terminals. This is a milestone because most of the first
computer-supported collaboration systems were developed for use by
simultaneous users logged into the same computer system.
- 1964: Word processor introduced by IBM.
- 1965: First wide-area network. Lawrence Roberts and Thomas Marill
hook up a TX-2 at MIT to the SDC Q-32 in Santa Monica, California.
- 1966: Ivan Sutherland and Bob Sproull develop practical virtual
reality system with head-mounted display and real-time tracking of
user's position and orientation within a room.
- 1968: Douglas Engelbart demonstrates a system built at SRI
allowing cooperative work between people in different cities, each
person typing on a computer keyboard, drawing with a mouse, talking
and listening, and looking at a little inset video picture of the
collaborator on the screen. The system included collaboratively
developed hypertext, with links being followed by clicking a mouse.
Engelbart mentioned that he planned to hook it up to the inchoate
ARPAnet so that files could be retrieved from across the network via
the mouse.
- 1969: A good year for computer science:
- ARPAnet is established among computers at UCLA, SRI, Santa Barbara
and Utah (MIT would join in 1970). Telnet, a remote log-in protocol,
is the only available service.
- the collaborative open standards development process of the
Request for Comment (RFC) was initiated
- English cryptographer James Ellis proves the possibility of secure
key exchange over an insecure channel and the concept of
public/private key cryptography. He is unable to come up with a
practical implementation because he can't find a one-way mathematical
function. Ellis's discoveries are kept secret within the British
government's cryptography organization. Cryptography will become a
cornerstone of the utility of the Internet. [Note: the British crypto
lab, GCHQ, will, in the year
2000, adopt the ArsDigita Community
System, in particular the WimpyPoint
collaboration presentation system.]
- 1972:
- Xerox Palo Alto Research Center (PARC) develops Alto, first
computer with a mouse-windows-icons interface.
- First email exchange between users of two separate computers
and introduction of the @ sign in addresses, achieved by Ray Tomlinson
at BBN.
- 1973:
- Ethernet local-area networking system developed at Xerox PARC
(see "Ethernet: Distributed
Packet Switching for Local Computer Networks" (Metcalfe and Boggs 1976)
- English mathematician Clifford Cocks is assigned the problem
of finding a one-way function to implement James Ellis's public
cryptography scheme. Within one day he presents a solution based on a
secret prime factorization of a large number. The British government
keeps the result a secret.
- 1974:
- IBM
develops the first relational database management system, System R,
based on E.F. Codd's
"A Relational Model of Data for Large Shared
Data Banks" (1970).
The RDBMS would eventually become the key technology for building modern collaborative Web services.
- English mathematician Malcolm Williamson comes up with a
practical means of key exchange over insecure channels, the exact
system that would eventually become known as "Diffie-Hellman-Merkle"
exchange. The British government keeps the result a secret.
- 1975: Stanford researchers Whitfield Diffie, Martin Hellman, and
Ralph Merkle independently discover Ellis's idea and Williamson's
method of key exchange and publish it.
- 1977: MIT Lab for Computer Science researchers Ronald Rivest, Adi
Shamir, and Leonard Adleman independently discover Clifford Cocks's
1973 method of public key cryptography, give it the name "RSA", and
patent it. RSA encryption will become the most common building block
of secure Internet commerce services.
- 1979: First spreadsheet program (Visicalc) developed by Dan Bricklin (MIT EECS '73) and Bob
Frankston (MIT EECS '70). This was the first widespread use of a
declarative programming language and initiated the most expansion of
programming ever.
- 1980: USENET (Netnews) started up, the first widespread
distributed threaded discussion system.
- 1984: Apple Macintosh introduced with significant innovations in
stability of user interface via pull-down menus. First
consumer-priced machine with a mouse-windows interface.
- 1990: First World Wide Web browser and editor demonstrated by Tim
Berners-Lee and team at CERN.
- 1991: Phil Zimmermann releases the Pretty Good Privacy (PGP)
encryption system, an open-source amalgamation of the most effective
modern cryptography techniques. It is now practical for Internet
users to exchange confidential email.
- February 1993: NCSA Mosaic Web browser released. This is the
first graphical browser that runs on multiple operating systems. By
October, the number of linked Web (HTTP) servers rises to 200.
References:
asj-editors@arsdigita.com
Reader's Comments
It is worth noting that the US government persecuted Phil Zimmermann for several years after he released PGP because he released PGP.
-- Paul Walker, September 23, 2000
The title should be "Cool stuff MIT guys did"
-- George Fairbanks, October 22, 2000
Another conclusion one is likely to draw from this page is this:
The British Government did more to stifle Computer Science in the 60s and 70s than Microsoft did during the 90s.
-- Rick Bischoff, December 12, 2000
"John" Baran I think should be Paul Baran. AT&T of course had a communications monopoly at that time based on analog networking and wasn't too receptive to technology requiring a digital network...
-- Paul Epps, January 17, 2001
While we are on the subject of bashing the British government,
just think about this: Alan Turing could have lived to see the Internet.
-- Oren Tirosh, March 15, 2001
This list has more to do with engineering than science. The history of engineering useful machines and software may only be about 2 centuries old, but the underlying science is much older.
Nevermind the RSA algorithm, what about inventing the concept of an algorithm itself? The term algorithm is derived from a "Latinised" form of Mohammed ibn Musa al-Kwarizmi, who worked around 825A.D. Euclid's algorithm has been dated circa 300 B.C. [At least that's what my old college notes say ;-) ]
Here are just some profound developments I'd like to acknowledge:
The Hindu-Arabic number system
(Why? Try building a calculator that works with Roman numerals.) Would it have been possible to build computers without an inductive number system?
The realisation that 0 is a number
Try defining addition and multiplication without the number 0.
Symbolic forms of logic Work by Goedel and others has brought the same kinds of advantages to logic that an inductive number system has brought to arithmetic.
The best discoveries are difficult to appreciate because they have changed the way we think.
-- Dafydd Rees, October 9, 2001
Nothing about Stallman and GNU? GPL as well as the compiler.
In a history of Computer Science that is like ignoring the Guttenburg Printing Press in a history of technology.
Without GNU how effective would PGP have been for example?
-- Greg morse, May 16, 2002