BASIC
<language> Beginner's All-purpose Symbolic Instruction Code. A simple language oroginally designed for ease of programming by students and beginners.
BASIC exists in many dialects, and 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 (a) very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well.
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 (ftp://oak.oakland.edu/pub/Unix-c/languages/basic/basic.tar-z). 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]