The first
BASIC programming language dialect on the
Apple II computer was [Integer Basic]
?, coded and hand-assembled by
Apple Computer employees. It could only handle numbers between -32767 and 32767 and had some limitations with respect to string arrays, but it was
fast.
Enter Bill Gates and Microsoft. Apple was looking for a new version of Basic for the [Apple II Plus]? computer with 48 KB of RAM. It seems Microsoft was the Basic vendor of choice at the time; Apple licensed a 10 KB assembly language version of Basic called "Applesoft." It was similar to Basic implementations on other 6502?-based computers: it used line numbers, spaces were not necessary in lines, plus it had some killer features that Integer BASIC lacked:
- atomic strings. A string is no longer an array of characters (like in C); it's now a garbage-collected object (like in Scheme and the Java programming language). This allows for string arrays; DIM A$(10) got you a vector of ten string variables.
- multidimensional arrays.
- single-precision floating point variables with an 8-bit exponent and a 31-bit significand. Along with this came a trigonometry library.
- high-resolution graphics.
- CHR$, ASC, STR$, and VAL functions for converting between string and numeric types
- no more writing
LET
Why weren't many action games written in Applesoft Basic?
- Integer variables had to be converted to reals before math could be performed on them; they were then converted back to integers. Slow. Microsoft forgot to [special case]? this.
- So-called [shape table]?s are a poor alternative to bitmaps. No provision for mixing text and graphics. No provision was added in the 128 KB [Apple IIe]? and [Apple IIc]? models' Basic interpreters for the new machines' double-resolution graphics, or for the [Apple IIGS]? computer's 16-color mode. (Beagle Bros offered machine-language workarounds for these problems.)
- The program was stored as a list of lines; a GOTO took O(n) (linear) time.
- No sound support.
- The [closed source movement]? was just beginning; software publishers found it was harder to crack a compiled binary than an interpreted source.
Here's [Hello World]? in Applesoft Basic:
10TEXT:HOME
20?"HELLO WORLD"
Source: http://everything2.com/?node=Applesoft+BASIC