Jump to content

CBASIC

From Alfawiki
Compiler Systems Inc.
IndustrySoftware
FoundedJanuary 1, 1976; 50 years ago (1976-01-01)
FounderGordon Eubanks
FateAcquired by Digital Research in 1981
Headquarters
Vallejo, California
,
United States
Key people
Gordon Eubanks
ProductsCBASIC, CB80

CBASIC represents a compiled variant of the BASIC programming language tailored for the CP/M operating system. It was created by Gordon Eubanks between 1976 and 1977 as an improved successor to BASIC-E.

History

The origins of BASIC-E trace back to Eubanks' master's thesis, crafted in PL/M for Gary Kildall's CP/M system during their time at the Naval Postgraduate School in Monterey, California. BASIC-E itself was derived from a BASIC compiler developed by Kildall in 1974.

Since BASIC-E was developed with government funding, it entered the public domain, making it unavailable for commercial sale. IMSAI's marketing director, Seymour Rubinstein, commissioned Eubanks to produce a commercial adaptation for the IMSAI 8080 microcomputer. Eubanks developed CBASIC while serving aboard the USS George Washington in Vallejo, California. Ownership was shared with IMSAI, and Eubanks marketed CB80 through his firm, Compiler Systems, until its 1981 acquisition by Digital Research.

  • CBASIC COMPILER VER 2.07
  • CRUN VER 2.38 / COPYRIGHT 1981 COMPILER SYSTEMS INC.

Features

Both BASIC-E and the initial CBASIC releases translated source code into an intermediate p-code format, which required a distinct runtime interpreter to execute. The minimum memory requirement for CBASIC was 24 KB. Line numbers were optional except when used as jump targets. The language gained traction by supporting 14-digit binary-coded decimal (BCD) arithmetic, addressing the rounding inaccuracies found in MBASIC, especially critical for accounting software.

Enhancements introduced in CBASIC2 included:

  • Support for integer variables
  • Capability to chain programs sharing common variables
  • Expanded set of predefined functions
  • Integrated cross reference functionality

Reception

In 1980, InfoWorld described CBASIC as the "leading language for commercial CP/M applications," attributing this to widespread developer familiarity and royalty-free binary distribution rights granted to CBASIC license holders. Despite its acceptance, some limitations were noted, such as the necessity of a preprocessor, which complicated debugging, slower performance speeds, and issues stemming from incompatible updates.

Jerry Pournelle commended CBASIC's architecture and documentation in 1980 but observed that BASCOM generated faster executables without CBASIC’s more cumbersome edit-compile-run-debug workflow. By 1982, he acknowledged CB80’s advantages over BASCOM—such as dynamic array redimensioning and enhanced garbage collection—though he criticized the $2000 yearly fee imposed on software sales utilizing CB80 as excessive.

Pournelle further characterized CB80 in 1982 as a formidable alternative to languages like Pascal and PL/I, highlighting its support for local variables and Pascal-style functions, alongside a more accommodating licensing model. In 1983, he noted that after Digital Research acquired CBASIC, the original manual by Eubanks had initially declined in quality but acknowledged improvements made in subsequent editions.

External links