History of BASIC, Part 1
Beginners' All-purpose Symbolic Instruction Code
John George Kemeny (Kemény János György) was born in Budapest, Hungary on the 31st of May in 1926. In Hungary, John studied at Rácz private primary school in Budapest. In 1940, John’s father brought his family to the USA. The Kemeny family was Jewish, and Hungary was passing anti-Jewish laws. His grandfather, his aunt, and his uncle would all later perish in the Holocaust. In the USA, John and his family settled in New York City, and John’s grades suffered, at first, as he didn’t speak English. He then attended George Washington High School from which he graduated at the top of his class at the age of 16. Within the next 10 years, he went from undergraduate to professor at Princeton University. During that time he was drafted into the military to work on the Manhattan Project at Los Alamos (at the age of 19) with Richard Feynman and John von Neumann. Kemeny was also Albert Einstein’s mathematical assistant while in graduate school as Einstein was working on Unified Field Theory. He completed his thesis at the age of 23.
Donald Morrison was the Dean of Dartmouth University in Hanover, New Hampshire. Dartmouth had quite a few older professors who were looking to retire from the mathematics department, and Don wanted someone younger to take over and rebuild that department. Einstein and von Neumann recommended Kemeny to Don, and Don, in-turn, reached out to Kemeny about the position. In 1953 at the age of 27, Kemeny started at Dartmouth as a professor. In 1955, Kemeny became chairman of the department.
Abort, Retry, Fail is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.
In his effort to rebuild the mathematics department of Dartmouth, John Kemeny decided to recruit out of his contacts at Princeton. Knowing he’d need a statistician, he recruited Thomas Eugene Kurtz. Additionally, at this point Dartmouth didn’t possess any computers of its own. Having worked with von Neumann, and having used computers while working on the Manhattan Project, John Kemeny knew that he needed to get access to computing resources.
As noted in my article “The Path to Linux,” MIT had gotten an early start in computing with Project Whirlwind, and by 1957 the MIT Computing Center had been established with an IBM 704 doing the bulk of the work. MIT and IBM had most of the time, and what was left was spread among nearby universities and students at MIT. One of those universities was Dartmouth. Once every two weeks, Kurtz would take punch cards, but them in a steel box, grab the 6:20 train out of White River Junction to MIT. There, he’d put the punch cards into the input hopper of the 704, and then hang around for 2 or 3 hours until the output was printed. Then, he’d take the train back and bring the output to Dartmouth. Kurtz did the math. The data transfer rate was 1.67 bits per second.
With Kemeny and Kurtz having suffered with their 1.67 bit per second transfer rate for some time, they decided to get their own computer. They needed something small and relatively inexpensive that would fit into the new Bradley Mathematics building. They didn’t actually have a budget for a computer, but they did have a budget for furniture… so… the computer became furniture as far as budgeting was concerned. The machine they chose was the Royal McBee LGP-30. The LGP-30 was… likely pretty terrible to use. It had a 31 bit word with 4096 word memory store on magnetic drum (the drum meant that each bit was processed serially as it was read off of the drum, slow). It had a single address 16 command instruction set. For input it could use the Flexowriter keyboard or paper tape. For output, it would print to the Flexowrtier printer, or to a paper tape puncher. The printer’s maximum speed was 10 characters per second, so one can easily imagine paper tape being the best output method. The clock rate of the LGP-30 was 120 KHz and consumed 1500 watts, and it was built of 113 vacuum tubes and 1350 diodes. Why was it built in this manner? Cost cutting.
Computers, at this time, were usually dramatically large, dramatically expensive to purchase, and dramatically expensive to run. The LGP-30 was cheap and small, and it still had support for multiplication.
No matter how slow the LGP-30 was, it was still faster to use it locally than to carry punch cards back and forth from MIT. The machine arrived in 1959. After two years of biweekly train catching, Kurtz was finally free of his rather long commute.
As noted in previous articles, the launch of Sputnik on the 4th of October in 1957 really scared the US federal government. As a result the National Science Foundation had a lot of money available to fund science instruction in universities at the undergraduate and graduate levels. To take advantage of the funding, Kemeny traveled to high schools to recruit the best and brightest math students he could find. One of the bright minds was George Erskine Cook.
He was tasked to write program to predict the New Hampshire outcome of the 1960 Presidential election. He and a few others were at the computer nearly all night. At around 9:30 PM the LGP-30 made a prediction, NBC made the opposite, and the LGP-30 was correct. Another was Bob Hargraves, and he wrote a higher level language and compiler, DART. This was rather impressive. This machine was intended to be a step up from mechanical calculators, and it was not initially intended to be used for complex computing tasks of this nature. Yet, with the ball rolling, Steve Garland, another recruit, decided to write an ALGOL 58 compiler for it. These efforts proved that the machine could be used by undergraduates, and that computers could be used to aid in the education of the wider student body. This would prove to be a powerful idea that would transform the entire computing industry, and it was something that Kemeny had already believed. When Kemeny was working with Einstein, he had been captivated by the startling simplicity that Einstein could use to explain things. He believed, as Einstein did, that almost anything could be made simple enough for anyone to understand.
At this time, most computing was done in batch. A series of jobs would be queued, and they would then be run in sequence, one at a time. However, MIT was already doing time sharing with CTSS. As there was some cross pollination between MIT and Dartmouth, this idea had made its way to Kemeny and Kurtz. The NSF was still funding science at universities, and after soliciting proposals from several computer manufacturers, GE won the contract in 1963. The NSF provided the funding. The proposal to NSF actually included the notion of having undergraduate students write software. This was laughed at, but Kemeny had a rather good relationship with the NSF and Dartmouth got the funding despite their proposal having been viewed as ridiculous. What the NSF didn’t know, and I suppose no one knew, was that in the summer of 1963, Kemeny would write the first BASIC compiler, and not only would undergraduates be using it, but all manner of staff and students would use BASIC without ever having had formal instruction in computer programming. One thing that was revolutionary for the time was that the Dartmouth Computer Center was open to all students and faculty.
Kemeny said in an interview (4:40) in 1991:
Our vision was that every student on campus should have access to a computer, and any faculty member should be able to use a computer in the classroom whenever appropriate. It was as simple as that.
Throughout the summer of 1963, Kemeny would wake around 3 or 4 in the morning, write code for a few hours on paper, and then he’d have Bill Zani meet him around 9. They’d go over the code together and attempt to make sure that things were correct. At the same time, the Dartmouth Time Sharing System was being written by students John McGeachie and Michael Busch in the same manner without any hardware to use for testing. DTSS used a GE DATANET-30 for scheduling and user-interface while a GE-225 ran user programs. This was a very unique approach and wasn’t without critics (even within GE). The computers were delivered in February of 1964, and on the 1st of May in 1964 at 4 AM the computers began operations with two users running different BASIC programs at the same time. This transformed what was initially a single user, single tasking computer into a time sharing machine with 30 simultaneous users. After the success of DTSS at Dartmouth, access was extended to Hanover High School. With that success, access was sold to more schools around the area. According to Kurtz, more than 80 time sharing systems were using BASIC before Bill Gates got into the action.
Throughout this, I have been amazed that a man sat down and wrote a BASIC compiler with no prior art, without the target hardware, without the target operating system, and for a system design that had never before been used. I suppose that this kind of thing should be expected from Einstein’s mathematics assistant…