BASIC (also QB) is an Integrated Development
Environment (or IDE) and compiler for the
BASIC programming language
that was developed by Microsoft. Quick
BASIC runs mainly on DOS, though
there was a short-lived version for the classic Mac OS. It is loosely
based on GW-
BASIC but adds user-defined types, improved programming
structures, better graphics and disk support and a compiler in
addition to the interpreter.
Microsoft marketed Quick
BASIC as the
introductory level for their
BASIC Professional Development System.
Microsoft marketed two other similar IDEs for C and Pascal, viz QuickC
2 Syntax example
3 Current uses
5 See also
7 External links
Microsoft released the first version of Quick
BASIC on August 18, 1985
on a single 5.25" 360kB floppy disk. Quick
BASIC version 2.0 and later
Integrated Development Environment
Integrated Development Environment (IDE), allowing users
to edit directly in its on-screen text editor.
Although still supported in QuickBASIC, line numbers became optional.
Program jumps also worked with named labels. Later versions also added
control structures, such as multiline conditional statements and loop
BASIC Compiler" was included for compiling programs
DOS executables. Beginning with version 4.0, the editor included
an interpreter that allowed the programmer to run the program without
leaving the editor. The interpreter was used to debug a program before
creating an executable file. Unfortunately, there were some subtle
differences between the interpreter and the compiler, which meant that
large programs that ran correctly in the interpreter might fail after
compilation, or not compile at all because of differences in the
memory management routines.
The last version of Quick
BASIC was version 4.5 (1988), although
development of the
BASIC Professional Development System
(PDS) continued until its last release of version 7.1 in October
1990. At the same time, the Quick
BASIC packaging was silently
changed so that the disks used the same compression used for
7.1. The Basic PDS 7.x version of the IDE was called QuickBASIC
Extended (QBX), and it only ran on DOS, unlike the rest of Basic PDS
7.x, which also ran on OS/2. The successor to Quick
BASIC and Basic PDS
Visual Basic version 1.0 for MS-DOS, shipped in Standard and
Professional versions. Later versions of
Visual Basic did not include
DOS versions, as
Microsoft concentrated on Windows applications.
A subset of Quick
BASIC 4.5, named QBasic, was included with
and later versions, replacing the GW-
BASIC included with previous
versions of MS-DOS. Compared to QuickBASIC,
QBasic is limited to an
interpreter only, lacks a few functions, can only handle programs of a
limited size, and lacks support for separate program modules. Since it
lacks a compiler, it cannot be used to produce executable files,
although its program source code can still be compiled by a QuickBASIC
4.5, PDS 7.x or VB
DOS 1.0 compiler, if available.
BASIC 1.00 for the Apple
Macintosh operating system was launched
in 1988. It was officially supported on machines running
System 6 with
at least 1 MB of RAM. Quick
BASIC could also be run on System
7, as long as 32-bit addressing was disabled; this was not possible on
Hello, World - Shortest version:
? "Hello, World"
Hello, World - Extended version:
PRINT "Hello, World"
99 bottles of beer:
LET BOTTLES = 99: LET BOTTLES$ = "99": LET BOTTLE$ = " bottles"
FOR A = 1 TO 99
PRINT BOTTLES$; BOTTLE$; " of beer on the wall, "; BOTTLES$; BOTTLE$;
" of beer."
LET BOTTLES = BOTTLES - 1
IF BOTTLES > 0 THEN LET BOTTLES$ = LTRIM$(STR$(BOTTLES)): LET
PRONOUN$ = "one"
IF BOTTLES = 0 THEN LET BOTTLES$ = "no more": LET PRONOUN$ = "it"
IF BOTTLES <> 1 THEN LET BOTTLE$ = " bottles"
IF BOTTLES = 1 THEN LET BOTTLE$ = " bottle"
PRINT "Take "; PRONOUN$; " down and pass it around, "; BOTTLES$;
BOTTLE$; " of beer on the wall."
PRINT: NEXT A
PRINT "No more bottles of beer on the wall, no more bottles of beer."
PRINT "Go to the store and buy some more, 99 bottles of beer on the
Complex graphics example:
'Code By Nicholas Beltran 18/10/97
DIM a(3976) AS INTEGER, b(3976) AS INTEGER, c(3976) AS INTEGER
DIM d(3976) AS INTEGER, e(3976) AS INTEGER
col% = 16: col1% = 16: col2% = 16: col3% = 16: col4% = 16
col5% = 16: col6% = 16: col7% = 16: flag = 1: flag1 = 1
flag2 = 1: flag3 = 1:flag4 = 1: flag5 = 1: flag6 = 1: flag7 = 1
GET (1, 38)-(318, 62), a
PUT (2, 38), a, PSET
LINE (1, 38)-(1, 62), col%
IF flag = 1 THEN col% = col% + 1: IF col% = 32 THEN flag = 2
IF flag = 2 THEN col% = col% - 1: IF col% = 16 THEN flag = 1
GET (2, 63)-(319, 87), b
PUT (1, 63), b, PSET
LINE (319, 63)-(319, 87), col1%
IF flag1 = 1 THEN col1% = col1% + 1: IF col1% = 32 THEN flag1 = 2
IF flag1 = 2 THEN col1% = col1% - 1: IF col1% = 16 THEN flag1 = 1
GET (1, 88)-(318, 112), c
PUT (2, 88), c, PSET
LINE (1, 88)-(1, 112), col2%
IF flag2 = 1 THEN col2% = col2% + 1: IF col2% = 32 THEN flag2 = 2
IF flag2 = 2 THEN col2% = col2% - 1: IF col2% = 16 THEN flag2 = 1
GET (2, 113)-(319, 137), d
PUT (1, 113), d, PSET
LINE (319, 113)-(319, 137), col3%
IF flag3 = 1 THEN col3% = col3% + 1: IF col3% = 32 THEN flag3 = 2
IF flag3 = 2 THEN col3% = col3% - 1: IF col3% = 16 THEN flag3 = 1
GET (1, 138)-(318, 162), e
PUT (2, 138), e, PSET
LINE (1, 138)-(1, 162), col4%
IF flag4 = 1 THEN col4% = col4% + 1: IF col4% = 32 THEN flag4 = 2
IF flag4 = 2 THEN col4% = col4% - 1: IF col4% = 16 THEN flag4 = 1
LOOP UNTIL LEN(INKEY$)
BASIC continues to be used in some schools, usually as part of an
introduction to programming, though it is fast
becoming replaced by more popular compilers. It also has an unofficial
community of hobby programmers who use the compiler to write video
games, GUIs and utilities. The community has dedicated
several Web sites, message boards and online magazines to the
Today, programmers sometimes use
DOS emulators, such as DOSBox, to run
Linux and on modern personal computer hardware that no
longer supports the compiler. Alternatives to this include
BASIC and QB64, but they cannot yet run all QBasic/QuickBASIC
Since 2008, a set of
TCP/IP routines for Quick
BASIC 4.x and 7.1 has
revitalized some interest in the software. In particular, the vintage
computer hobbyist community has been able to write software for old
computers that run DOS, allowing these machines to access other
computers through a LAN or the internet. This has allowed systems even
as old as an
8088 to serve new functions, such as acting as a Web
server or using IRC.
Visual Basic was the successor of QuickBASIC. Other
compilers, like Power
BASIC and FreeBASIC, have varying degrees of
compatibility. QB64, a multiplatform Quick
BASIC to C++ translator,
retains close to 100% compatibility and compiles natively for Windows,
Linux and macOS.
Microsoft documentation rendered the name exclusively as
"QuickBASIC", although later references on Microsoft's Web site also
Microsoft Knowledge Base 45850: Memory Management in QuickBasic
& Basic Compiler
BASIC 4.5 was delivered on a set of five 360 kB 5.25" DSDD
floppy disks or three 720 kB 3.5" DSDD floppy disks. The
three-disk version could also be installed from 1.2 MB 5.25" or
1.44 MB 3.5" DSHD disks. To save costs, the files were compressed
and later versions were shipped on just four 5.25" disks or two 3.5"
Microsoft Knowledge Base article 65291
Macintosh system requirements
BASIC Games Directory". 2008-11-29. Archived from the original on
4 September 2014. Retrieved 2008-12-28.
GUI Reviews". 2008-12-19. Retrieved 2008-12-28.
^ "The (BASIC)
GUI Blog". 2011-02-06. Retrieved 2011-02-06.
^ "Qbasic/Quickbasic News". 2008-12-26. Retrieved 2008-12-28.
^ "QB Express". Pete's QBASIC/QuickBasic Site. 2008. Retrieved
^ Pete Trbovich (2007-03-31). "HOWTO Play With Your Old QBasic
Programs on Linux". Retrieved 2008-12-28.
^ Kiyote Wolf (2008-05-10). "Kiyote Wolf on a Variety of Subjects". QB
Express. Retrieved 2008-12-28.
^ For example, Free
BASIC does not yet support QBasic's "ON PLAY"
callback for background music, or the use of
PEEK and POKE to I/O
^ Mike Chambers (2008-07-12). "rubbermallet.org: Where Quick
much more powerful". Retrieved 2008-12-28.
^ E.K.Virtanen (2008-05-26). "Interview With Galleon". Archived from
the original on March 6, 2016. Retrieved 2008-07-14. CS1 maint:
Unfit url (link)
Version History of
Microsoft QuickBasic for MS-DOS
Dialects of the
BASIC programming language (list)
Atari ST BASIC
Extended Color BASIC
Disk Extended Color BASIC
BASIC for OpenVMS
HP Time-Shared BASIC
Rocky Mountain BASIC
BASIC (Tandy, Casio, Sharp Pocket Computers)
BASIC (TI 99/4A)
BASIC (aka XBasic)
Tymshare SUPER BASIC
Microsoft Small Basic
With object extensions
Basic For Qt (KBasic)
Visual Basic .NET
For mobile devices
Visual Basic .NET
Embedded Visual Basic
VB 5 for
Microsoft Excel 5.0
TRS-80 Basics (Level I, Level II, Level III)
Microsoft Small Basic
Basic For Qt