CBASIC is a
compiled version of the
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
written for the
CP/M operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
by
Gordon Eubanks
Gordon Edwin Eubanks, Jr. (born November 7, 1946) is an American microcomputer industry pioneer who worked with Gary Kildall in the early days of Digital Research (DRI).
Eubanks attended Oklahoma State University, where he was involved as a me ...
in 1976–1977. It is an enhanced version of BASIC-E.
History
BASIC-E was Eubank's master's thesis project.
It was developed in
PL/M
The PL/M programming language
(an acronym of ''Programming Language for Microcomputers'')
is a high-level language conceived and developed by
Gary Kildall in 1973 for Hank Smith at Intel for its microprocessors.
Overview
The language incorpor ...
by Eubanks for
Gary Kildall
Gary Arlen Kildall (; May 19, 1942 – July 11, 1994) was an American computer scientist and microcomputer entrepreneur.
During the 1970s, Kildall created the CP/M operating system among other operating systems and programming tools, an ...
's new CP/M operating system while both men were at the
Naval Postgraduate School
The Naval Postgraduate School (NPS) is a public graduate school operated by the United States Navy and located in Monterey, California.
It offers master’s and doctoral degrees in more than 70 fields of study to the U.S. Armed Forces, DOD ci ...
in
Monterey, California
Monterey (; es, Monterrey; Ohlone: ) is a city located in Monterey County on the southern edge of Monterey Bay on the U.S. state of California's Central Coast. Founded on June 3, 1770, it functioned as the capital of Alta California under bo ...
.
BASIC-E was based on a BASIC compiler originally written by Gary Kildall in 1974.
Because it was developed at public expense, BASIC-E is in the
public domain
The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired, ...
and could not be marketed exclusively.
Seymour Rubinstein, the marketing director of
IMSAI contacted Eubanks and asked him to create a saleable version under contract for the
IMSAI 8080
The IMSAI 8080 was an early microcomputer released in late 1975, based on the Intel 8080 and later 8085 and S-100 bus. It was a clone of its main competitor, the earlier MITS Altair 8800. The IMSAI is largely regarded as the first "clone" micro ...
microcomputer
A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (P ...
.
Gordon Eubanks oral history transcript
p. 9, November 2000, Computerworld Honors Program Eubanks developed CBASIC in his spare time while he was still a naval officer stationed on the submarine USS ''George Washington'' at Vallejo, California
Vallejo ( ; ) is a city in Solano County, California and the second largest city in the North Bay region of the Bay Area. Located on the shores of San Pablo Bay, the city had a population of 126,090 at the 2020 census. Vallejo is home to t ...
. He retained joint ownership of the program with IMSAI, and sold the program through his own company, '' Compiler Systems'', until it was acquired by Digital Research
Digital Research, Inc. (DR or DRI) was a company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser DOS, DOS Plus, DR DOS ...
in 1981.
* CBASIC COMPILER VER 2.07
* CRUN VER 2.38 / COPYRIGHT 1981 COMPILER SYSTEMS INC.
Features
BASIC-E and early versions of CBASIC compiled source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
into an intermediate p-code
Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
file, which was then executed by a separate run-time interpreter program. CBASIC could execute in a minimum of 24 KB of memory. Line numbers in the program source were optional, unless needed as a label for a program jump. CBASIC proved very popular because it incorporated 14-digit binary-coded decimal
In computing and electronic systems, binary-coded decimal (BCD) is a class of binary encodings of decimal numbers where each digit is represented by a fixed number of bits, usually four or eight. Sometimes, special bit patterns are used fo ...
(BCD) math which eliminated MBASIC's rounding errors that were sometimes troublesome for accounting.
CBASIC2 adds the following features:
* Integer variables
* Chaining with common variables
* Additional pre-defined functions
* Cross reference
The term cross-reference (abbreviation: xref) can refer to either:
* An instance within a document which refers to related information elsewhere in the same document. In both printed and online dictionaries cross-references are important because ...
capability
Reception
''InfoWorld
''InfoWorld'' (abbreviated IW) is an information technology media business. Founded in 1978, it began as a monthly magazine. In 2007, it transitioned to a web-only publication. Its parent company today is International Data Group, and its sister ...
'' in 1980 described CBASIC as the "primary language for the development of commercial CP/M applications", because of developers' widespread familiarity with BASIC and ability to distribute royalty-free binaries without source code to CBASIC owners. The magazine stated that the language had become popular "despite serious drawbacks", including the required preprocessor
In computer science, a preprocessor (or precompiler) is a program that processes its input data to produce output that is used as input in another program. The output is said to be a preprocessed form of the input data, which is often used by s ...
for interpreted source code making debugging difficult, slow speed, and incompatible changes. Jerry Pournelle
Jerry Eugene Pournelle (; August 7, 1933 – September 8, 2017) was an American scientist in the area of operations research and human factors research, a science fiction writer, essayist, journalist, and one of the first bloggers. In the 1960 ...
said in May 1983 that Digital Research had "practically ruin d Eubanks' CBASIC manual after acquiring his company, but that the new edition was much better.
References
External links
Gordon Eubanks own story
of BASIC-E and CBASIC, Computer World oral history transcript, November 2000
BASIC-E Reference Manual
(December 1976)
CBASIC 2 Reference Manual
(Table of contents on p. 115) November 1981
*
cbc – a CBASIC to C converter
Posting by Emmanuel Roche
{{Authority control
BASIC interpreters
BASIC compilers
CP/M software
Programming languages created in 1977
BASIC programming language family