Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming languagethat was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was a short-lived version for 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 theinterpreter. Microsoft marketed QuickBASIC as the
introductory level for their BASIC Professional Development System.[1]
Microsoft marketed two other similar IDEs for C and Pascal, viz QuickC
and QuickPascal.
introductory level for their BASIC Professional Development System.[1]
Microsoft marketed two other similar IDEs for C and Pascal, viz QuickC
and QuickPascal.
History
Microsoft released the first version of QuickBASIC on August 18, 1985 on a single
5.25" 360kB floppy disk. QuickBASIC version 2.0 and later contained an Integrated
Development Environment (IDE), allowing users to edit directly in its on-screen text
editor.
5.25" 360kB floppy disk. QuickBASIC version 2.0 and later contained an 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 blocks.
jumps also worked with named labels. Later versions also added control structures,
such as multiline conditional statements and loop blocks.
Microsoft's "PC BASIC Compiler" was included for compiling programs into 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.[2]
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.[2]
The last version of QuickBASIC was version 4.5 (1988), although development of the
Microsoft BASIC Professional Development System (PDS) continued until its last
release of version 7.1 in October 1990.[3] At the same time, the QuickBASIC packaging
was silently changed so that the disks used the same compression used for BASIC
PDS 7.1.[4] 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 QuickBASIC and Basic PDS was Visual Basic for MS-DOS 1.0,
shipped in Standard and Professional versions. Later versions of Visual Basic did not
include DOS versions, as Microsoft concentrated on Windows applications.
Microsoft BASIC Professional Development System (PDS) continued until its last
release of version 7.1 in October 1990.[3] At the same time, the QuickBASIC packaging
was silently changed so that the disks used the same compression used for BASIC
PDS 7.1.[4] 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 QuickBASIC and Basic PDS was Visual Basic for MS-DOS 1.0,
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 QuickBASIC 4.5, named QBasic, was included with MS-DOS 5 and
later versions, replacing the GW-BASICincluded 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 VBDOS 1.0 compiler, if available.
later versions, replacing the GW-BASICincluded 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 VBDOS 1.0 compiler, if available.
QuickBASIC 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.
[5] QuickBASIC could also be run on System 7, as long as 32-bit addressing was
disabled; this was not possible on Motorola 68040-based Macintosh machines.
It was officially supported on machines running System 6 with at least 1 MB of RAM.
[5] QuickBASIC could also be run on System 7, as long as 32-bit addressing was
disabled; this was not possible on Motorola 68040-based Macintosh machines.
Syntax example
Hello, World - Shortest version:
? "Hello, World"
Hello, World - Extended version:
CLS
PRINT "Hello, World"
END
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 wall."
Complex graphics example:
'Code By Nicholas Beltran 18/10/97
SCREEN 13
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
DO
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$)
Current uses
QuickBASIC continues to be used in some schools, usually as part of an introduction
to programming[citation needed], 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.[6][7][8] The community has dedicated
several Web sites, message boards andonline magazines to the language.[9][10]
to programming[citation needed], 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.[6][7][8] The community has dedicated
several Web sites, message boards andonline magazines to the language.[9][10]
Today, programmers sometimes use DOS emulators, such as DOSBox, to run
QuickBASIC on Linux and on modern personal computer hardware that no longer
supports the compiler.[11][12] One alternative to this is FreeBASIC, but it cannot yet
run allQBasic/QuickBASIC programs.[13]
QuickBASIC on Linux and on modern personal computer hardware that no longer
supports the compiler.[11][12] One alternative to this is FreeBASIC, but it cannot yet
run allQBasic/QuickBASIC programs.[13]
Since 2008, a set of TCP/IP routines for QuickBASIC 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.[14]
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.[14]
Successors
Microsoft's Visual Basic was the successor of QuickBASIC. Other compilers, like
PowerBASIC and FreeBASIC, have varying degrees of compatibility. QB64, a
multiplatform QuickBASIC compiler, is developed and is 100% compatible.[15]
PowerBASIC and FreeBASIC, have varying degrees of compatibility. QB64, a
multiplatform QuickBASIC compiler, is developed and is 100% compatible.[15]
Comments
Post a Comment