Differences from Microsoft BASIC Syntax is checked and errors highlighted immediately on line entry. Variable names can be of arbitrary length, and all characters are significant. The following keywords are not in Atari BASIC: INKEY$, CLS,DEF FN, SPC, TAB, ELSE. All arrays must be dimensioned prior to use while Microsoft BASIC defaults an array to 10 elements if not dimensioned. String variables are treated as character arrays and must be dimensioned before use. MS BASIC stores strings on the heap and sometimes pauses for garbage collection. The functions LEFT$, MID$, and RIGHT$ are replaced by string indexing. There is not an operator for string concatenation. There are no arrays of strings. There is no support for integer variables. There are no bitwise operators. INPUT does not allow a prompt. PRINT may be abbreviated as ? as in Microsoft BASIC, but Atari BASIC does not tokenize it into PRINT. It remains a question mark. The target of GOTO and GOSUB can be a variable or expression. RESTORE may take a numeric constant, variable, or expression as a parameter, causing the next READ to begin from the specified line number FOR..NEXT loops in Atari BASIC must have a variable name referenced by the NEXT statement while Microsoft BASIC does not require it. Multiple variables are not permitted with NEXT statements as they are in Microsoft BASIC (e.g., NEXT X,Y). LIST uses a comma to separate a range instead of a minus sign.
Differences from Microsoft BASIC Syntax is checked and errors highlighted immediately on line entry Variable names can be of arbitrary length, and all characters are significant. The following keywords are not in Atari BASIC: INKEY$, CLS,DEF FN, SPC, TAB, ELSE. All arrays must be dimensioned prior to use while Microsoft BASIC defaults an array to 10 elements if not dimensioned. String variables are treated as character arrays and must be dimensioned before use. MS BASIC stores strings on the heap and sometimes pauses for garbage collection. The functions LEFT$, MID$, and RIGHT$ are replaced by string indexing. There is not an operator for string concatenation. There are no arrays of strings. There is no support for integer variables. There are no bitwise operators. INPUT does not allow a prompt. PRINT may be abbreviated as ? as in Microsoft BASIC, but Atari BASIC does not tokenize it into PRINT. It remains a question mark. The target of GOTO and GOSUB can be a variable or expression. RESTORE may take a numeric constant, variable, or expression as a parameter, causing the next READ to begin from the specified line number FOR..NEXT loops in Atari BASIC must have a variable name referenced by the NEXT statement while Microsoft BASIC does not require it. Multiple variables are not permitted with NEXT statements as they are in Microsoft BASIC (e.g., NEXT X,Y). LIST uses a comma to separate a range instead of a minus sign.