BASIC

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]