The Altair BASICinterpreter was developed by Microsoft founders Paul Allen and Bill Gates with help from Monte Davidoff, using a self-made Intel 8080 software simulator running on a PDP-10minicomputer. The dialect of BASIC is similar to Digital Equipment Corporation interpreters, especially in string operations, which vary between BASIC implementations. BASIC uses dynamically allocated strings which store their size. Early BASIC only supports single letter- and digit names, but Microsoft BASIC supports long variable names. Only two characters are significant though; the variable names "AD," "ADDRESS1," and "ADDRESS2" all point to the same value. The runtime symbol table uses a linear search so that a program which used many distinct variables would run much slower (in the time of early processors) than a program which used a single array for all its variables.
Altair BASIC was delivered on paper tape and in its original version took 4 KB of memory. The extended 8 KB version was then generalized into BASIC-80 (8080/85, Z80), and ported into BASIC-68 (6800), BASIC-69 (6809), and MOS Technology 6502-BASIC (unfortunately spilling over to 9 KB, in an era when 8 KB ROM chips were standard), as well as the 16-bit BASIC-86 (8086/88). It was ideal for early ROM-based computers since it does not require an editor (until the latest versions of BASIC, each line requires a number), nor a disk drive to store object code or linked executable. It is less sophisticated than software for industrial desktop computers, which has dedicated keys to load, store, and keys for editing within a line and debugging; but personal computer pricing, in contrast, started at $1,565 rather than about $7,000.
After the initial success of Altair BASIC, Microsoft BASIC became the basis for a lucrative software licensing business, being ported to the majority of the numerous home and other personal computers of the 1970s and especially the 1980s, and extended along the way. Contrary to the original Altair BASIC, most home computer BASICs are resident in ROM, and thus are available on the machines at power-on in the form of the characteristic "READY." prompt. Hence, Microsoft's and other variants of BASIC constitute a significant and visible part of the user interface of many home computers' rudimentary operating systems.
Microsoft licensed similar versions to companies that directly competed with each other. After licensing BASICA to IBM for the PC, for example, Microsoft licensed the compatible GW-BASIC to makers of PC clones, and also sold copies to retail customers. The company similarly licensed an Applesoft-compatible BASIC to VTech for its Laser 128clone.
Microsoft developed a ROM-based BASIC implementation for the MOS 6502 microprocessor in 1976, which began appearing in microcomputers starting with the OSI Model 500 and KIM-1 in 1977. This was available in two variants: a 8K variant supporting 6-digit floating point numbers, and a 9K variant supporting 9-digit floating point numbers. Three major versions were released by Microsoft (1.0, 1.1, 2.0), with certain licensees making their own changes later on.
No variety of Microsoft BASIC (BASICA, GW-BASIC, QuickBasic, QBasic) is currently distributed with Microsoft Windows or DOS. However, versions which will still run on modern machines can be downloaded from various internet sites or be found on old DOS disks. The latest incarnation of Microsoft BASIC is Visual Basic .NET which incorporates some features from C++ and C# and can be used to develop web forms, Windows forms, console applications and server-based applications. Most .NET code samples are presented in VB.NET as well as C#, and VB.NET continues to be favored by former Visual Basic programmers.
In October 2008, Microsoft released Small Basic. The language itself has only 14 keywords. Small Basic Version 1.0 (12 June 2011) was released with an updated Microsoft MSDN website that included a full teacher curriculum, a Getting Started Guide, and several e-books. Small Basic exists to help students as young as age eight learn the foundations of computer programming and then graduate to Visual Basic via the downloadable software, Visual Studio Express, where they can continue to build on the foundation by learning Visual C#, VB.NET, and Visual C++.
^ abcdSources differ in regard to the first NCR data entry terminal integrating support for the FAT file system. According to Stephen Manes and Paul Andrews, "Gates", development was for a NCR 8200 in late 1977, incorrectly classified as a floppy-based upgrade to the NCR 7200, which had been released in 1975-11 and was built around an Intel 8080 8-bit processor, but was cassette-based only. However, the NCR Century 8200 was a 16-bit minicomputer, onto which several data entry terminals could be hooked up. Marc McDonald even remembered a NCR 8500, a mainframe of the Criterion series, which can be ruled out as well. Other sources indicate that either the NCR 7200 itself or its successor were the actual target platform. The NCR 7500 series was released in 1978, based on a similar 8080 hardware, but now including NCR 7520 and 7530 models featuring 8-inch diskettes. NCR Basic +6, a precursor or adaptation of Microsoft Standalone Disk BASIC-80 was available for them at least since 1979. One source claims that a special NCR 7200 model variant with two 8-inch diskettes and Microsoft BASIC existed and was imported by NCR Sydney into Australia the least.