BASIC-8, is a
BASIC programming language for the
Digital Equipment (DEC)
PDP-8 series
minicomputers. It was the first BASIC dialect released by the company, and its success led DEC to produce new BASICs for its future machines, notably
BASIC-PLUS for the
PDP-11 series. DEC's adoption of BASIC cemented the use of the language as the standard educational and utility
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
of its era, which combined with its small system requirements, made BASIC the major language during the launch of
microcomputers in the mid-1970s.
History
David Ahl joined
Digital Equipment's (DEC's) expanding educational sales division in 1969. The division was mostly tasked with selling the
PDP-8 minicomputer to
high school
A secondary school, high school, or senior school, is an institution that provides secondary education. Some secondary schools provide both ''lower secondary education'' (ages 11 to 14) and ''upper secondary education'' (ages 14 to 18), i.e., ...
s and
college
A college (Latin: ''collegium'') may be a tertiary educational institution (sometimes awarding degrees), part of a collegiate university, an institution offering vocational education, a further education institution, or a secondary sc ...
s. These were not yet widespread; a typical single-user machine of the late 1960s cost in the order of $10,000 (), not including
mass storage
In computing, mass storage refers to the storage of large amounts of data in a persisting and machine-readable fashion. In general, the term ''mass'' in ''mass storage'' is used to mean ''large'' in relation to contemporaneous hard disk drive ...
and other
peripheral
A peripheral device, or simply peripheral, is an auxiliary hardware device that a computer uses to transfer information externally. A peripheral is a hardware component that is accessible to and controlled by a computer but is not a core compo ...
s.
Around this time, both
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company. It was founded by Bill Hewlett and David Packard in 1939 in a one-car garage in Palo Alto, California ...
(HP) and
Honeywell
Honeywell International Inc. is an American publicly traded, multinational conglomerate corporation headquartered in Charlotte, North Carolina. It primarily operates in four areas of business: aerospace, building automation, industrial automa ...
had introduced new 16-bit minicomputers with
time sharing that were becoming popular in the educational markets. In particular, HP had introduced the
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
HP 2100
The HP 2100 is a series of 16-bit minicomputers that were produced by Hewlett-Packard (HP) from the mid-1960s to early 1990s. Tens of thousands of machines in the series were sold over its 25-year lifetime, making HP the fourth-largest minicomp ...
in 1966 for the technical market and were surprised to find them selling into the business market as well. They decided to take advantage of this by packaging the machine with
HP Time-Shared BASIC
HP Time-Shared BASIC (HP TSB) is a BASIC, BASIC programming language Interpreter (computing), interpreter for Hewlett-Packard's HP 2100#HP 2000, HP 2000 line of minicomputer-based time-sharing computer systems. TSB is historically notable as th ...
as the HP2000 for sales into the programming and educational markets.
Although the HP2000 was much more expensive than the PDP-8, by sharing access among many users, typically up to 16 at a time, sp the effective per-user cost was much lower than single-user machines.
At the time, DEC was heavily promoting their own language for educational uses,
FOCAL, a cut-down version of
JOSS
JOSS (acronym for JOHNNIAC Open Shop System) was one of the first interactive, time-sharing programming languages. It pioneered many features that would become common in languages from the 1960s into the 1980s, including use of line numbers as bo ...
. The language had a number of features that allowed it to run in extremely limited memory, including the PDP-8's 4 KB of
core memory. It was conceptually similar to BASIC, especially in the interactive method of typing in programs and the general layout of programs. Ahl collected FOCAL programs submitted from users and published them in the department's EDU newsletter.
Ahl found that prospective customers were not interested in FOCAL, at least outside the
Boston
Boston is the capital and most populous city in the Commonwealth (U.S. state), Commonwealth of Massachusetts in the United States. The city serves as the cultural and Financial centre, financial center of New England, a region of the Northeas ...
-area where DEC was located. BASIC was already widely used by this time, and a growing library of educational programs and games in BASIC were becoming available. These were being published in
newsletter
A newsletter is a printed or electronic report containing news concerning the activities of a business or an organization that is sent to its members, customers, employees or other subscribers.
Newsletters generally contain one main topic of ...
format, almost always in HP2000 dialect, and the sheer volume of BASIC programs was overwhelming FOCAL. Ahl found no interest on the part DEC management or software development department to produce a BASIC, nor any interest in supporting FOCAL on the other machines in their lineup. He also noted an increasing hostility to the idea of allowing any other company to produce a version of the language.
Concluding a BASIC was required for the PDP-8 to allow it to compete in the educational market, he hired a
Brooklyn
Brooklyn is a Boroughs of New York City, borough of New York City located at the westernmost end of Long Island in the New York (state), State of New York. Formerly an independent city, the borough is coextensive with Kings County, one of twelv ...
area programmer to develop one. This became BASIC-8. To aid its uptake, Ahl personally ported over several popular FOCAL programs, notably the games
Lunar Lander
A lunar lander or Moon lander is a Lander (spacecraft), spacecraft designed to Moon landing, land on the surface of the Moon. As of 2024, the Apollo Lunar Module is the only lunar lander to have ever been used in human spaceflight, completing s ...
and
The Sumerian Game, which he renamed
Hamurabi. BASIC-8 was an immediate best-seller, and by the early 1970s the company was once again a popular choice in educational markets. The company began packaging systems in a fashion similar to the HP2000, with a line of "Edusystems" tailored to different needs.
Although DEC continued to promote FOCAL, use evaporated almost instantly with the release of BASIC-8. DEC would ultimately offer five different BASICs for the PDP-8, each one making up for limitations of the original minimal implementation. With the release of the
PDP-11 in 1970, an entirely new and greatly expanded dialect was offered,
BASIC-PLUS. Customers complained about the variations between dialects, but Ahl later claimed that if he had been a stickler for such details it would have taken another two years to get the products out.
Ahl had also noticed another curious fact; when they began publishing the EDU newsletter, they expected perhaps 2000 to 3000 subscribers, about 10 each for DEC's 300 educational sites. Within 18 months, circulation had reached 20,000, significantly more than all of the computers in the educational field. When he inquired, he found that many subscribers didn't even have a computer, let alone a DEC one, and were reading it for ideas on how computers might be used in education. This led to early consideration of an independent educational-focused computer magazine. Invariably the most popular section of EDU were the BASIC listings, especially games. This led to his decision to collect the most popular programs, notably
Star Trek
''Star Trek'' is an American science fiction media franchise created by Gene Roddenberry, which began with the Star Trek: The Original Series, series of the same name and became a worldwide Popular culture, pop-culture Cultural influence of ...
, into book form as 1973's ''101 BASIC Games''. This sold tens of thousands of copies over three print runs.
Despite some success on the part of the educational division, at the start of the
1973–1975 recession, DEC decided to reduce the size of the group. When Ahl complained that the division should be left alone, his boss put him on the list of people to be
laid off. Even before he received his last paycheck, he was re-hired into a newly-formed hardware group in DEC. They produced two small prototype computers, one all-in-one design based on the PDP-8, and a slightly larger system based on the newer
PDP-11. Other divisions in the company became concerned these might cut into their own sales and began to agitate against the systems. This ultimately reached the desk of
Ken Olsen, who finally stated that he could not understand why anyone might want a computer for their private use. The project was killed.
Ahl left the company and joined
AT&T
AT&T Inc., an abbreviation for its predecessor's former name, the American Telephone and Telegraph Company, is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the w ...
's educational sales department. Ahl had continued publishing EDU before leaving DEC, but with his departure, only one or two more editions were published before the company abandoned it. This left the market to HP, who had by this time had widespread distribution of their BASIC programs in the
People's Computer Company newsletter and the rapidly growing
Minnesota Educational Computing Consortium (MECC) collection. Noting a lack of a newsletter like EDU aimed specifically at the education market, Ahl soon started ''
Creative Computing'' magazine and later left AT&T to produce it full-time. In 1975 he purchased the rights to ''101 BASIC Games'' from DEC and re-launched it as ''
BASIC Computer Games''. This went on to become the first million-selling computer book.
HP's dialect formed the basis for many early
personal computer
A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
BASIC implementations, including
Integer BASIC
Integer BASIC is a BASIC interpreter written by Steve Wozniak for the Apple I and Apple II computers. Originally available on Cassette tape, cassette for the Apple I in 1976, then included in Read-only memory, ROM on the Apple II from its release ...
and
Atari BASIC among others.
Bill Gates
William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
had used BASIC-PLUS in high school, and this formed the basis for what became
Altair BASIC in 1975. Continued development and sales of varieties of
Microsoft BASIC for multiple platforms led to DEC's dialect ultimately becoming the ''de facto'' standard on home computers rather than HP's version.
Description
Like most versions of BASIC, BASIC-8 could be operated in "immediate mode" where users type in commands and immediately receive a response (like a hand-held calculator), or in "deferred mode", where entries were stored for later execution using the command . Deferred mode is triggered by typing a line number at the start of a line of text. In BASIC-8 the line numbers could range from 1 to 2046; the PDP-8 was a
12-bit
Before the widespread adoption of ASCII in the late 1960s, six-bit character codes were common and a 12-bit word, which could hold two characters, was a convenient size. This also made it useful for storing a single decimal digit along with a si ...
machine and normally held a value from −2048 to +2047 in a single
word
A word is a basic element of language that carries semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consensus among linguist ...
.
As was common in many minimal BASIC implementations of the era, statements could only be used to perform a branch; had to be followed by a line number to jump to, it could not contain arbitrary statements as was common in later BASICs. Thus was valid, was not. An alternate form was . The space in GO TO is not optional as it was in some dialects, either in an or as a stand-alone statement. Subroutines were supported using , but could not be called from statements. Loops could be performed with or using .
In contrast to most BASICs, was not optional, and had to be used on all assignments. Variable names could be a single letter or a letter and a single digit. can be used to define one and two dimensional arrays. The floating point number format had 8 significant digits and exponents from −38 to +38. Standard math symbols were used for arithmetic, , , , and (represented on a
Teletype Model 33 as an up-arrow), and it included the standard functions , , , , , , , , , and . There was no support for string variables or functions. Boolean comparisons in statements included , , , , and . was supported for user-defined functions.
supported both commas and semicolons could be used to space out multiple outputs in tabular format or with no space, respectively. was supported and could read multiple inputs in a single statement, but prompts were not supported. Lacking file-operating commands, any data within a program could only be entered using statements and read using . returned the back to the start of the list; there was no optional line number as seen in some dialects.
, and round out the command list.
Implementation
In contrast to most competing minicomputer-based systems and early
home computer
Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
s, where BASIC was the entire environment seen by the user, BASIC-8 was one of a number of programs that could be run at the
command line of the underlying
TSS/8 operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
. As such, commands that would normally be associated with BASIC itself, like or , are not part of the language proper, but part of the shell, and thus cannot be used within programs. This was typical of many early BASIC environments, where the editor and runtime were completely different programs.
BASIC programs could be entered by starting BASIC-8 at the command line and typing, or by starting a
text editor
A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be used to c ...
like EDIT-8 and typing in the code as a text file. In both cases, the BASIC code was stored as pure text, and retained any extra characters the user typed – one could type in code without spaces to make the file more compact, or add additional spaces to indent loops.
When BASIC was started one could type to clear any existing program, or to load an existing file. At any time, one could the working file or to delete an existing saved file. produced a list of saved program files. printed the source code, and could be limited using two comma-separated values for start and end line numbers, like . deleted a range of lines from the program, started execution, and exited BASIC and returned to the TSS/8 command line.
Internally, the system consisted of five separate sub-programs that were loaded as required in order to minimize memory use. These were , , , and . COMPILER was not a
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
in the modern sense of the word, as it did not generate
lower-level language; in modern terms it would be referred to as a "tokenizer" or front-end. Its purpose was to parse the BASIC
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
and convert it into a series of "tokens", one-word numbers representing various keywords and commands. The result was then left in memory while INTERPRETER was instructed to begin running the resulting tokenized code. ERROR mapped error numbers in BASIC to textual output. A table in memory, SYPTBA, held pointers to the locations of the programs on disk.
Notes
References
Citations
Bibliography
*
*
*
{{Digital Equipment Corporation
BASIC programming language
Digital Equipment Corporation