John G. Kemeny: BASIC and DTSS: Everyone a Programmer
Sadly, an important pioneer of the computer revolution has
died. John G. Kemeny, co-inventor of the computer language BASIC
and of the Dartmouth Time Sharing System (DTSS) and advocate of
universal education in programming died unexpectedly on December
26, 1992. He was 66 years old.
John Kemeny was born in Budapest on May 31, 1926. His
education and intellectual development in Hungary must have been
very impressive, but in 1940, to escape the Nazi tide, his family
emigrated to New York City. Kemeny entered high school knowing
virtually no English. He graduated three years later, first in
his class and accepted at Princeton University to study
mathematics.
By the time Kemeny turned 18, he had finished his first year
at Princeton. He was immediately drafted and sent to Los Alamos
to be a "computer", one of 20 operators who used 17 IBM book
keeping calculators to get numerical solutions to differential
equations connected with the design of the atom bomb. It took two
or three weeks, working three 8 hour shifts six days per week to
get one result. The calculators were feed punched cards, which
were moved manually from machine to machine. Between
calculations, their plug boards had to be rewired by hand. At the
end of a cycle the calculation was summarized on a printout which
had to be checked by eye for "catastrophes". If any were found,
the cycle had to be repeated. Years later, Kemeny was to note
that one undergraduate working one afternoon, using a 1970 time
sharing computer could solve as many differential equations as
the whole Los Alamos team did in a whole year and there could be
100 other users on the computer at the same time.
While at Los Alamos, Kemeny heard a lecture by fellow
Hungarian born John von Neumann who was a consultant to the
computer operation. Von Neumann proposed a fully electronic
computer based on a binary number system, with internal memory
for both data and a stored program. To Kemeny and the other
"computers", von Neumann's machine sounded like a dream. Kemeny
wondered if he would live long enough to ever use one.
After the war, Kemeny returned to Princeton. In 1948-49,
while finishing his dissertation, Kemeny served as Albert
Einstein's research assistant at the Institute for Advanced
Study. Von Neumann was at the Institute also, working on the
machine he had described in his lecture two years earlier.
Einstein and Kemeny crossed paths with von Neumann occasionally
and had some long conversations concerning symbol handling as
opposed to number handling computers.
Kemeny finished his Ph.D and stayed at Princeton teaching
math and philosophy until 1953. During his time at Princeton, his
contact with von Neumann and his computer had a deep effect on
Kemeny. Here was the brilliant mathematician playing around with
the nuts and bolts of a computing machine and raising profound
philosophic questions about the relation between humans and
machines. In a Scientific American article, "Man Viewed as a
Machine" (vol. 192, April, 1955, pages 58-67) Kemeny summarized
lectures von Neumann had given just before Kemeny left Princeton.
Kemeny framed the question of these lectures, "What could a
machine do as well or better than a man?" The conclusion in 1955
was that computers calculate faster than the human brain, may
eventually match the human brain in memory capacity but have a
long way to go to exceed the compactness of the human brain or
the complexity the human brain is capable of dealing with. Next,
based on the work of the English logician Alan Turing, Kemeny
argued that a universal machine can be designed. That universal
machine would need a simple code designed for it that would
describe any simple machine humans could devise. Then the
universal machine could do anything every simple machine could do
by converting the descriptions of the simple machines into
programs for its own operation. It occurred to Kemeny that "a
normal human being is like the universal machine. Given enough
time he can learn to do anything." (ibid, p. 63) Kemeny carried
this understanding with him throughout his career of encouraging
universal teaching of computer programming.
In the summer of 1953, while a consultant at the Rand
Corporation, Kemeny had a chance to use the JONIAC, a copy of von
Neumann's Princeton computer. He had great fun, he wrote,
"learning to program a computer, even though the language used at
that time was designed for machines and not for human beings."
(Man and The Computer, New York, 1972, p. 7)
Kemeny joined the faculty of Dartmouth College in 1953 to
teach math and philosophy. For six years after he got there,
Dartmouth had no computer. Kemeny could however commute 135 miles
each way to use the computer at MIT in Cambridge, Massachusetts.
He did and, therefore, witnessed the coming in 1957 of the
FORTRAN programming language. Kemeny welcomed FORTRAN because it
made much more sense to him to teach a machine a language that is
easier for human beings to learn than to force every human to
learn the machine's own language. "All of a sudden access to
computers by thousands of users became not only possible but
reasonable." (Ibid, p. 8)
Dartmouth acquired its first computer in 1959, a very small
computer called the LGP-30. Kemeny facilitated the use of the
LGP-30 by undergraduate students. The ingenuity and creativeness
of some of the students who had been given hands-on experience
amazed the Dartmouth faculty. Kemeny and Thomas Kurtz, also of
the Dartmouth math department, were thus encouraged to "set in
motion the then revolutionary concept of making computers as
freely available to college students as library books."
(Portraits in Silicon, Robert Slater, Cambridge, 1987, p.22) The
aim was to make accessible to all students the wonderful research
environment that computers could provide.
The work of Kemeny and Kurtz in the early 1960's took two
directions. Influenced by the work of J.C.R. Licklider and John
McCarthy at MIT, Kemeny understood that a time sharing system
would make possible the universal access they aimed for. A team
of the two faculty members and a group of undergraduate research
assistants developed a prototype system. It allowed multiple
users short spurts of access to the central computer from remote
terminals in such a way that each user enjoyed the illusion that
he was the sole user. This Dartmouth Time Sharing System (DTSS)
became operational in the Fall of 1964. The value of a time
sharing system is that it ended the hardship of batch processing
which often required hours or even days of waiting between runs
of a program while it was being developed and debugged. Time
sharing utilizes the great speed of computers compared to humans
to greatly enhance the efficiency of computing from the point of
view of the human users.
Today's packet switching networks (e.g, the Internet) owe a
great deal to the development of this time sharing system
conceptually and technically. But earlier, DTSS almost got
derailed. Kemeny had worked closely with General Electric during
the time DTSS was being worked on. In 1966, GE and Dartmouth
agreed to work on a joint development of the time sharing
operating system. However GE's commercial purposes conflicted
with Dartmouth's educational purposes. The story is told that GE
tried to "stop the Dartmouth experiment" and the development of
the time sharing system called Phase I. (See e.g., Computer Lib,
Ted Nelson, South Bend, 1974, p. 45). But Kemeny and Kurtz,
determined not to let DTSS disappear, encouraged the development
of DTSS Phase II by 1969.
In addition to time sharing, Kemeny and Kurtz realized that
a new computer language was needed that could be easily learned
and accessible to typical college students. Kemeny noted, "We at
Dartmouth envisaged the possibility of millions of people writing
their own computer programs." (Man and the Computer, p. 30) They
designed their language with plain English and high school
algebra like commands and so that the lay user could learn a very
few commands and then be able to write interesting programs.
Kemeny started to work on a draft version in September, 1963. The
result was BASIC, Beginners All-Purpose Symbolic Instruction
Code. The first BASIC program ran on May 1, 1964 at 4:00 am.
Kemeny and Kurtz made an effort to get as many students as
possible using BASIC and they were available to hear about
problems and bugs and to come up with bug fixes. Kemeny and Kurtz
wanted BASIC to be in the public domain. Dartmouth copyrighted
BASIC but made it available without charge.
The careful work of Kemeny and Kurtz to make an easy to
learn but powerful computer language bore tremendous fruit. After
its introduction at Dartmouth in 1964, BASIC spread as did DTSS
to other campuses and government and military situations. And
BASIC made personal computers possible. Beginning in 1975 with
the success of Bill Gates and Paul Allen to write an interpreter
for a subset of BASIC commands for the Altair computer, one form
or another of BASIC spread to and accelerated the personal
computer revolution. (See Amateur Computerist, vol 2 no 4, p. 9-
12)
For a while the great appeal of personal computers and their
falling costs and general availability eclipsed Kemeny and
Kurtz's seminal work on DTSS and the original BASIC. By the late
1980's, 10 to 12 million school children had learned BASIC, more
people than speak, e.g., Norwegian. The personal computer helped
"distribute" computing, which Kemeny thought was crucial to the
progress of society. But it also diminished in importance the
centralized computing power and the interconnectivity of users
that time sharing made possible. Only recently, with the spread
of computer networks is the value of both developments being
realized. Now the power of personal computer work stations
instead of dumb terminals coupled with the connectivity and
remote resource availability is making possible the human-
computer and human-human interfacing that Kemeny predicted.
From 1971 to 1980, Kemeny was the thirteenth President of
Dartmouth College presiding for example over the transition there
to coeducation. He continued his efforts to support a crucial
role for computers in education but was unable to be a major
contributor to developments like the personal computer and the
various versions of BASIC. In 1979, Kemeny served as the chairman
of President Carter's Commission on the Accident at Three Mile
Island. Kemeny "very much regretted" that the Commission did not
recommend a temporary halt on construction permits for nuclear
reactors. The investigation had found that the government
regulators were too lax in their regulation. The Commission
concluded, "the evidence suggests that the NRC (Nuclear
Regulatory Commission) has sometimes erred on the side of the
industry's convenience rather than carrying out its primary
mission of insuring safety" and that the industry took inadequate
safety precautions and failed to respond to known unsafe
conditions. (The Report of The President's Commission on the
Accident at Three Mile Island, pp. 43, 51 and 188)
After Kemeny stopped being President of Dartmouth and
Chairman of the Three Mile Island Accident Commission, he took
stock of the use of computers especially in education. He was
furious and frustrated by the slow progress of education in
computer programming, although it is not clear whether he was
aware of the forces like Ford Motor Company which opposed that
progress. Between 1983 and 1985, Kemeny and Kurtz went back to
work and produced a more powerful version of their original
BASIC. They called it TRUE BASIC and it is still marketed today
with the intention of introducing "students to the very important
art of computer programming and analytic thinking."
Kemeny had a very broad vision of the role computers would
play in society. He foresaw a man-machine symbiosis that would
help both to evolve rapidly. In the early 1970's he predicted
that within 20 years there would be a national computer network
with terminals in millions of homes, so every home would be a
mini university. He also predicted there would be a National
Automated Reference Library, a national personalized computer
delivered news service, and, especially, greatly enhanced education
via time sharing and simple programming languages. Kemeny worked
hard to implement his visions and felt by the late 1980's great
disappointment in the slow progress. He died just as the great
computer networking structures that have developed in some large
measure because of his pioneering work and vision have begun to
fulfill more of his expectations but also just as a fight is
being waged by those who want to commercialize these networking
structures and those who want to keep them in the public domain.
Kemeny recognized that the social problems that have yet to
be solved are immense. He wrote, "while computers alone cannot
solve the problems of society, these problems are too complex to
be solved without highly sophisticated use of computers." (Ibid,
p.80) and that it is imperative that computers be freely
available. "Only if we manage to bring up a computer-educated
generation will society have modern computers fully available to
solve its serious problems." (Ibid) He saw the computer
revolution as a possible asset for society but felt "it is a
major mistake to make plans for the solution of social problems
on the assumption that society will in the future will be
organized in exactly the same way as today. For the first time in
human history we have an opportunity for significant social
planning. We cannot afford to waste it." (Ibid, p.143)
John Kemeny was part of many of the seminal events of the
computer revolution. He made major contributed to its foundation
and he thought deeply into this revolution. His death was
untimely but he has left the value of his work to help us take on
the challenges that confront the progress that he contributed to.