BDS C
   HOME

TheInfoList



OR:

BDS C (or the ''BD Software C Compiler'') is a
compiler 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 ...
for a sizeable subset of the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
, that ran on and generated code for the
Intel 8080 The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
and
Zilog Z80 The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples wer ...
processors. It was the first C compiler for
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 ...
. It was written by Leor Zolman and first released in 1979 when he was 20 years old. "BDS" stands for "Brain Damage Software." BDS C was popular and influential among
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 ...
users and developers. It ran much faster than other Z80-hosted compilers. It was possible to run BDS C on single-
floppy A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined wi ...
machines with as little as 30K of
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
in comparison to most other commercial compilers which required many passes and the writing of intermediate files to disk. Weak points of BDS C were that the
floating point In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
math routines and the file access functions were incompatible with the C compiler used on UNIX, and that its relocatable object files were incompatible with the Microsoft MACRO-80 assembler, making it more difficult to integrate C code with
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
. BDS C was bundled with a subset of the Unix system written in about 1980, called MARC (Machine Assisted Resource Coordinator). This effort in some ways resembled
GNU GNU () is an extensive collection of free software (383 packages as of January 2022), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operat ...
, though MARC was to be able to run CP/M software through
emulation Emulation may refer to: *Emulation (computing), imitation of behavior of a computer or other electronic system with the help of another type of system :*Video game console emulator, software which emulates video game consoles *Gaussian process em ...
. Unfortunately MARC's author, Ed Ziemba, perished in a
snorkeling Snorkeling ( British and Commonwealth English spelling: snorkelling) is the practice of swimming on or through a body of water while equipped with a diving mask, a shaped breathing tube called a snorkel, and usually swimfins. In cooler waters, a ...
accident before he could complete the project.InfoWorld
(17 Aug 1981) In 2002, Leor Zolman released the
8080 The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibili ...
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
source code for BDS C into 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, ...
.


Reception

Around 75,000 copies were sold, including a stripped down Japanese version. A number of commercial CP/M products were written in the BDS C subset of the C language, including PeachText from PeachTree Software,
MINCE Mince may refer to: * MINCE, an early text editor for CP/M microcomputers * Mincing, a food preparation technique in which food ingredients are finely divided * Ground meat, also known as ''mince'', meat that has been minced ** Ground beef, also ...
and Scribble from
Mark of the Unicorn Mark of the Unicorn (MOTU) is a music-related computer software and hardware supplier. It is based in Cambridge, Massachusetts and has created music software since 1984. In the mid-1980s, Mark of the Unicorn sold productivity software and severa ...
, and most of the software in the Perfect Software suite including
Perfect Writer Perfect Writer is a word processor computer program published by Perfect Software for CP/M, subsequently rewritten and released as Perfect II by Thorn EMI Computer Software for IBM PC compatible computers. It was written in C and famous for its st ...
, PerfectCalc, PerfectSpeller, and PerfectFiler (which suite was bundled with the
Kaypro Kaypro Corporation was an American home and personal computer manufacturer based out of San Diego in the 1980s. The company was founded by Non-Linear Systems (NLS) to compete with the popular Osborne 1 portable microcomputer. Kaypro produced a ...
).


See also

*
Small-C Small-C is both a subset of the C programming language, suitable for resource-limited microcomputers and embedded systems, and an implementation of that subset. Originally valuable as an early compiler for microcomputer systems available during t ...


References


External links


BD Software download page
- historical note about Leor Zolman and BDS C

* BDS C Users Group {{DEFAULTSORT:Bds C 1979 software C (programming language) compilers CP/M software Free compilers and interpreters Formerly proprietary software Public-domain software with source code Assembly language software