QuickBASIC
From Free net encyclopedia
Microsoft QuickBASIC (often shortened, correctly, to QB; or incorrectly, to "QBasic", which is a different system) is a descendant of the BASIC programming language that was developed by the Microsoft Corporation for use with the MS-DOS operating system. 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 sold QuickBASIC as a commercial development suite.
Microsoft released the first version of QuickBASIC on August 18, 1985 stored on a single 5.25" floppy disk. QuickBASIC came with a markedly different Integrated Design Environment (IDE) from the one supplied with previous versions of BASIC. Users could insert and remove lines directly via an onscreen text editor, and line numbers were no longer needed.
Microsoft's "PC BASIC Compiler" was included for compiling programs into DOS executables. The editor also had an interpreter built in which allowed the programmer to run the program being edited without leaving the editor, as of version 4.0. This was commonly used to debug a program before creating an executable file. Unfortunately there were some small, subtle differences between the interpreter and the compiler, so that sometimes a program that ran perfectly well in the interpreter would fail after compilation, or would even not compile at all.
The last version of QuickBASIC was version 4.5 (1988), although there was continued development of the Microsoft Basic Professional Development System (PDS), the last release of which was version 7.1 (June 1990). The PDS version of the IDE was called QuickBASIC Extended (QBX). The successor to QuickBASIC and PDS was Visual Basic for MS-DOS 1.0, provided in Standard and Professional versions. Later versions of Visual Basic did not include DOS versions, as Microsoft wanted developers to concentrate on Windows applications.
A subset of QuickBASIC 4.5, named QBasic, was included with MS-DOS 5 and later versions, replacing the GW-BASIC included with previous versions of MS-DOS. Compared to QuickBASIC, QBasic is limited as it is 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 directly, although programs developed using it can still be compiled by a QuickBASIC 4.5, PDS 7.1 or VBDOS 1.0 compiler, if one is available.
To learn more about the language, history, and community of QuickBASIC and its free interpreter-only counterpart, you should see also QBasic. There are more links, and more information, including a barebones tutorial for QuickBASIC/QBasic programming.
Important Issues in Versions 4.0, 4.5, PDS, and VBDOS
While Quick Basic was a useful language for rapid development, it had some severe limitations:
- 64K Dgroup limit on variables. This limit meant that programmers of larger programs had to go to great lengths to keep from overflowing the 64K variable area. Note that part of this area (about 32K) was taken up with internal variables, so that only 32K was useable. The two most useful work arounds were to use a "STRING" file to store variables, loading the variable value only when required, and to use a separate file to declare variables. Dgroup overflow could cause the next problem to surface.
- Interpreted and Compiled programs were not compatible. Because the interpreter was running P-Code, it wasn't identical in execution to the compiled version of the same program. It was possible to have a program that would run interpreted in the IDE, which would not run in compiled form, and vice versa. Error statements for the two options were different, so that it was possible to have a program which would not run in either, and would report different errors.
Note that Microsoft Technical Support seemed unaware of these issues, though it was well known in the alt.lang.basic newsgroup. Once a programmer was aware of these issues, the language was eminently capable, and a joy to use.
See also
External links
- The QBasic Page (now under new management!) which includes a wide variety of topics.
- Pete's QB Site. One of the oldest remaining QB sites (since Oct 1998). Oriented towards game programmers.
- QQN: QBasic/QuickBASIC News.
- QQN's Newbies Section which includes a link for downloading QBasic.
- Qbasic central: Houses an impressive platform game coded in QuickBASIC
- FreeBASIC compiler. A multi-platform BASIC compiler backwards-compatible with QuickBASIC source and adding new features.
- Matthew's QB Site A nice QB site with a good forum and chatroom.
- qbasicjedi.tk QBasic forum frequent NEWKs QBasic website.cs:QuickBASIC
es:Quick BASIC fr:Quick BASIC ko:퀵 베이직 pl:QuickBasic zh:QuickBASIC it:QuickBASIC