HOME

TheInfoList



OR:

CBASIC is a
compiled In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
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 ...
written for the
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
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, a ...
'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 A creative work is a manifestation of creative effort including fine artwork (sculpture, paintings, drawing, sketching, performance art), dance, writing (literature), filmmaking, ...
and could not be marketed exclusively.
Seymour Rubinstein Seymour Ivan Rubinstein (born 1934) is an American businessman and software developer. With the founding of MicroPro International in 1978, he became a pioneer of personal computer software, publishing under it the extremely popular word processi ...
, the marketing director of
IMSAI IMS Associates, Inc., or IMSAI, was a microcomputer company, responsible for one of the earliest successes in personal computer, personal computing, the IMSAI 8080. The company was founded in 1973 by William Millard (businessman), William Millard ...
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" micr ...
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 (PC ...
.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 the ...
. 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 and ...
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 comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
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 (computing), interpreter. Unlike Human-readable code, human-readable source code, bytecodes are compact nume ...
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 for ...
(BCD) math which eliminated
MBASIC MBASIC is the Microsoft BASIC implementation of BASIC for the CP/M operating system. MBASIC is a descendant of the original Altair BASIC interpreters that were among Microsoft's first products. MBASIC was one of the two versions of BASIC bundled w ...
's rounding errors that were sometimes troublesome for
accounting Accounting, also known as accountancy, is the measurement, processing, and communication of financial and non financial information about economic entities such as businesses and corporations. Accounting, which has been called the "languag ...
. 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 siste ...
'' 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 so ...
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 1960s ...
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