Beginner's All-purpose Symbolic Instruction Code. A simple language originally designed for ease of programming by students and beginners. Many dialects exist, and BASIC is popular on microcomputers with sound and graphics support. Most micro versions are interactive and interpreted.

BASIC has become the leading cause of brain-damage in proto-hackers. This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10-20 lines) very easily; writing anything longer is painful and encourages bad habits that will make it harder to use more powerful languages. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros. As it is, it ruins thousands of potential wizards a year.

Originally, all references to code, both GOTO and GOSUB (subroutine call) referred to the destination by its line number. This allowed for very simple editing in the days before text editors were considered essential. Just typing the line number deleted the line and to edit a line you just typed the new line with the same number. Programs were typically numbered in steps of ten to allow for insertions. Later versions, such as BASIC V, allow GOTO-less structured programming with named procedures and functions, IF-THEN-ELSE-ENDIF constructs and WHILE loops etc.

Early BASICs had no graphic operations except with graphic characters. In the 1970s BASIC interpreters became standard features in mainframes and minicomputers. Some versions included matrix operations as language primitives.

A public domain interpreter for a mixture of DEC's MU-Basic and Microsoft Basic is here. A yacc parser and interpreter were in the comp.sources.unix archives volume 2.

See also ANSI Minimal BASIC, bournebasic, bwBASIC, ubasic, Visual Basic.

[Jargon File]

Last updated: 1995-03-15

Basic Assembly Language


(BAL) What most people called IBM 360 assembly language.

See ALC.

Last updated: 1995-04-13


Early system on IBM 7070. Listed in CACM 2(5):16 (May 1959).



A subset of COBOL from COBOL-60 standards.

[Sammet 1969, p. 339].

Last updated: 1997-12-07

Basic Encoding Rules

<protocol, standard>

(BER) ASN.1 encoding rules for producing self-identifying and self-delimiting transfer syntax for data structures described in ASN.1 notations.

BER is an self-identifying and self-delimiting encoding scheme, which means that each data value can be identified, extracted and decoded individually.

Huw Rogers once described BER as "a triumph of bloated theory over clean implementation". He also criticises it as designed around bitstreams with arbitrary boundaries between data which can only be determined at a high level.

Documents: ITU-T X.690, ISO 8825-1.

See also CER, DER, PER.

Last updated: 1998-05-28

Basic Fortran


A subset of Fortran.

[Sammet 1969, p. 150].

Last updated: 1999-06-09

Basic Input/Output System

<operating system>

(BIOS, ROM BIOS) The part of the system software of the IBM PC and compatibles that provides the lowest level interface to peripheral devices and controls the first stage of the bootstrap process, including installing the operating system. The BIOS is stored in ROM, or equivalent, in every PC. Its main task is to load and execute the operating system which is usually stored on the computer's hard disk, but may be loaded from CD-ROM or floppy disk at install time.

In order to provide acceptable performance (e.g. for screen display), some software vendors access the routines in the BIOS directly, rather than using the higher level operating system calls. Thus, the BIOS in the compatible computer must be 100% compatible with the IBM BIOS.

As if that wasn't bad enough, many application programs bypass even the BIOS and address the screen hardware directly just as the BIOS does. Consequently, register level compatibility is required in the compatible's display electronics, which means that it must provide the same storage locations and identification as the original IBM hardware.

Last updated: 1999-06-09



A subset of JOVIAL written ca. 1965.

[Sammet 1969, p.529].

Last updated: 1995-04-19

Basic Language for Implementation of System Software


(BLISS, or allegedly, "System Software Implementation Language, Backwards") A language designed by W.A. Wulf at CMU around 1969.

BLISS is an expression language. It is block-structured, and typeless, with exception handling facilities, coroutines, a macro system, and a highly optimising compiler. It was one of the first non-assembly languages for operating system implementation. It gained fame for its lack of a goto and also lacks implicit dereferencing: all symbols stand for addresses, not values.

Another characteristic (and possible explanation for the backward acronym) was that BLISS fairly uniformly used backward keywords for closing blocks, a famous example being ELUDOM to close a MODULE. An exception was BEGIN...END though you could use (...) instead.

DEC introduced the NOVALUE keyword in their dialects to allow statements to not return a value.

Versions: CMU BLISS-10 for the PDP-10; CMU BLISS-11, BLISS-16, DEC BLISS-16C, DEC BLISS-32, BLISS-36 for VAX/VMS, BLISS-36C.

["BLISS: A Language for Systems Programming", CACM 14(12):780-790, Dec 1971].

[Did the B stand for "Better"?]

Last updated: 1997-03-01

Basic Multilingual Plane

<text, standard>

(BMP) The first plane defined in Unicode/ISO 10646, designed to include all scripts in active modern use. The BMP currently includes the Latin, Greek, Cyrillic, Devangari, hiragana, katakana, and Cherokee scripts, among others, and a large body of mathematical, APL-related, and other miscellaneous characters. Most of the Han ideographs in current use are present in the BMP, but due to the large number of ideographs, many were placed in the Supplementary Ideographic Plane.

Unicode home.

Last updated: 2002-03-19

Basic Object Adapter


(BOA) Part of the CORBA architecture.


Last updated: 2004-06-23

Basic Object System


(BOS) A C-callable library that implements the notion of object and which uses Tcl as its interpreter for interpreted methods (you can have "compiled" methods in C, and mix compiled and interpreted methods in the same object, plus lots more). You can subclass and mix in existing objects using BOS to extend, among other things, the set of tk widgets. BOS is a class-free object system, also called a prototype-based object system; it is modelled loosely on the Self system from Stanford University.

Version 1.31 by Sean Levy <[email protected]>.

Last updated: 1992-08-21

Basic Operating System

<operating system>

(BOS) An early [when?] IBM operating system.

According to folklore, BOS was the predecessor to TOS on the IBM 360 and it was IPL'd from a card reader. It may have been intended for very small 360's with no disks and limited tape drives.

BOS died out really early [when?] as disks such as the 2311 and 2314 became common with the IBM 360, whereas disks had been a real luxury on the IBM 7090.

Last updated: 1999-01-29

Basic Programming Support

<operating system, tool>

(BPS, colloquially: Barely Programming Support) A suite of utility routines from IBM to perform very simple procedures like formatting a disk or labelling a tape. BPS was only available on punched cards.


Last updated: 1998-07-08

Basic Rate Interface


(BRI, 2B+D, 2B1D) An Integrated Services Digital Network channel consisting of two 64 kbps "bearer" (B) channels and one 16 kbps "delta" (D) channel, giving a total data rate of 144 kbps. The B channels are used for voice or user data, and the D channel is used for control and signalling and/or X.25 packet networking. BRI is the kind of ISDN interface most likely to be found in residential service.

Last updated: 2002-01-13

Basic Service Set


(BSS) A wireless local area network and all the wireless devices (e.g. PCs and laptops) that are associated with it. A BSS may or may not include an access point and is identified by a BSSID.

Last updated: 2009-05-12


The version of the Basic programming language which comes on ROM in Acorn's RISC computers: the Archimedes range and the RiscPC. It features REPEAT and WHILE loops, multi-line IF statements, procedures and functions, local variables, error handling, system calls and a built-in assembler.

Last updated: 1995-01-05

Nearby terms:

Base TechnologybashBASICBasic Assembly LanguageBASIC AUTOCODER

Try this search on Wikipedia, OneLook, Google