With the underlying Dartmouth Time-Sharing System (DTSS), it offered an interactive programming environment to all undergraduates as well as the larger university community.
Kurtz, having been indoctrinated that FORTRAN was slow, spent several months writing a program in 704 assembler which had taken up about an hour of CPU time to debug and still was not running.
Writing the compiler was difficult due to the very small memory size, 32 KB in modern terms, and was extremely slow, based on the drum speed of 3600 rpm.
[6] In addition to basic mathematical operations, the language included SQR, EXP, LOG, SIN and a simple branching construct.
"[8] But doing so would be largely impossible given what they had to work with; the turnaround on a typical SCALP run was about 15 minutes, and the languages were far too difficult for non-STEM users to use for basic tasks.
Students would prepare their programs on punch cards or paper tape, submit them to the computer operators, and then at some future point receive their output.
This meant small messages could be quickly passed back and forth between the machines, allowing commands typed by the user to be immediately performed by the 225.
In September, Vice President Louis Rader offered the new GE-635, which ran approximately 10 times as fast and included two CPUs.
Although the two teams remained in contact, and several good-faith attempts were made to continue the relationship, little further collaboration occurred and the partnership officially ended on 20 September 1972.
57% of the CPU time was used for coursework, 16% for research, and the remaining 27% for "recreational use"; Dartmouth actively encouraged users to play games as a way to get hands-on use and overcome fear of the computer.
[35] Beginning with another NSF grant, in 1967 Dartmouth also began placing terminals in off-campus locations, including high schools in the area.
This led to a number of manufacturers who introduced computers specifically designed for this market of users who wanted to solve small or medium-scale tasks and were not as worried about outright performance.
The system supported up to 32 simultaneous users, using a low-end HP 2100 CPU to run the terminals in the same fashion as the Datanet-30 of the original GE-265 setup, while the programs ran on a higher-end model of the same machine, typically differing in that it had more core memory.
HP's BASIC used a semi-compiled tokenized format for storing programs, which improved loading times and meant "compiles" were zero-time.
[39] Digital Equipment Corporation took a different approach, using a single-machine offering based on their existing PDP-11 line with the new RSTS/E operating system and BASIC-PLUS.
BASIC-PLUS more closely followed the Fifth Edition, including the MAT commands, but was implemented as a pure interpreter as opposed to the Dartmouth compiler or HP's tokenized format.
[40] Tymshare SUPER BASIC also supported JOSS-style structures and matrix math, but retained the original compile-and-go operation.
Although Kemeny did not take credit for it, he later referred to FTBALL by stating it "was written on Sunday after a certain Dartmouth-Princeton game in 1965 when Dartmouth won the Lambert trophy.
Although these are published in HP BASIC form, the majority of them trace their history to either DTSS or the Lawrence Hall of Science in California where a similar machine was set up, known as DECISION.
[43] A more famous collection is BASIC Computer Games of 1978, where about half of the programs in the book were either written at Dartmouth, including another by Kemeny, Batnum, or more commonly, one of the many high schools that were connected to it after 1968.
[44] Multiplayer video games became possible in BASIC when Stephen Garland and John McGeachie developed the MOTIF Multiple Online Terminal Interface for DTSS.
A somewhat hidden feature was that all variables were capable of representing arrays (vectors) of up to ten elements (subscripts 1 to 10, changed to 0 to 9 in the Second Edition) without being declared that way using DIM.
[50] Unlike later implementations where this left space between items, the semicolon advanced printing to the next multiple of three characters, which was useful for "packing" more numbers into a line of output than the existing comma separator.
Among these were two-dimensional string arrays, as opposed to one-dimensional in the previous version, as well as the ability to use the DEF to define string-based functions as well as mathematical.
This version was worked on by Kemeny and Kurtz as well as several former students who returned as faculty: Stephen Garland, John McGeachie, and Robert Hargraves.
"[65] One of the biggest changes was the replacement of the earlier CHAIN concept with the much better-defined CALL which operated in a fashion similar to GOSUB, but it referred to a function name rather than a line number.
The long delay in producing that standard, along with the lack of regard among computer scientists for unstructured Basic, led the College Board committee developing the Advanced Placement Course in Computer Science, which Garland chaired, to opt for requiring Pascal and not allowing Basic as the language for the course.
[84] BASIC-PLUS on the DEC platform was perhaps the closest implementation, including the MAT commands for instance, but then added a number of changes that were not backward-compatible.
[84] The process was slow, and the first draft of Minimal BASIC was not published until January 1976, leading to it being officially adopted in December 1977 by ECMA, and 1979 by ANSI as X3.60-1978.
As the number of microcomputers grew, and turned into the home computer market in the late 1970s, MS BASIC became the de facto standard.