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 awhile 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 theses 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.