BASIC
Beginners All-purpose Symbolic Instruction Code
Beginner's All-purpose Symbolic Instruction Code
Beginner's All-purpose Symbolic Instruction Code
<
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. 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]
(1995-03-15)
(c) Copyright 1993 by Denis Howe
/bay'-sic/ n. A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which for many years was the leading cause of brain damage in proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on Computing: A Personal Perspective" that "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." 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 (a) is 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 in the 1980s. As it is, it probably ruined tens of thousands of potential wizards.
[1995: Some languages called `BASIC' aren't quite this nasty any more, having acquired Pascal- and C-like procedures and control structures and shed their line numbers. --ESR]
Note: the name is commonly parsed as Beginner's All-purpose Symbolic Instruction Code, but this is a backronym. BASIC was originally named Basic, simply because it was a simple and basic programming language. Because most programming language names were in fact acronyms, BASIC was often capitalized just out of habit or to be silly. No acronym for BASIC originally existed or was intended (as one can verify by reading texts through the early 1970s). Later, around the mid-1970s, people began to make up backronyms for BASIC because they weren't sure. Beginner's All-purpose Symbolic Instruction Code is the one that caught on.