QBasic
QBasic is an integrated development environment (IDE) and interpreter for a variety of dialects of BASIC which are based on QuickBASIC. Code entered into the IDE is compiled to an intermediate representation (IR), and this IR is immediately executed on demand within the IDE.[1]
Paradigm | Procedural |
---|---|
Developer | Microsoft |
First appeared | 1991 |
OS | MS-DOS, Windows 95, Windows 98, Windows Me, PC DOS, OS/2, eComStation, ArcaOS |
License | Proprietary |
Influenced by | |
QuickBASIC, GW-BASIC | |
Influenced | |
FreeBASIC, QB64, SmallBasic |
Like QuickBASIC, but unlike earlier versions of Microsoft BASIC, QBasic is a structured programming language, supporting constructs such as subroutines.[2] Line numbers, a concept often associated with BASIC, are supported for compatibility, but are not considered good form, having been replaced by descriptive line labels.[1] QBasic has limited support for user-defined data types (structures), and several primitive types used to contain strings of text or numeric data.[3][4] It supports various inbuilt functions.
For its time, QBasic provided a state-of-the-art IDE, including a debugger with features such as on-the-fly expression evaluation and code modification.
History
QBasic was intended as a replacement for GW-BASIC. It was based on the earlier QuickBASIC 4.5 compiler but without QuickBASIC's compiler and linker elements. Version 1.0 was shipped together with MS-DOS 5.0 and higher, as well as Windows 95, Windows NT 3.x, and Windows NT 4.0. IBM recompiled QBasic and included it in PC DOS 5.x, as well as OS/2 2.0 onwards.[5] eComStation and ArcaOS, descended from OS/2 code, include QBasic 1.0. QBasic 1.1 is included with MS-DOS 6.x, and, without EDIT
, in Windows 95, Windows 98 and Windows Me. Starting with Windows 2000, Microsoft no longer includes QBasic with their operating systems,[6] but still makes it available for use on newer versions of Windows.
Contents
QBasic (as well as the built-in MS-DOS Editor) is backwards-compatible with DOS releases prior to 5.0 (down to at least DOS 3.20). However, if used on any 8088/8086 computers, or on some 80286 computers, the QBasic program may run very slowly, or perhaps not at all, due to DOS memory size limits. Until MS-DOS 7, MS-DOS Editor and Help required QBasic: the EDIT.COM
and HELP.COM
programs simply started QBasic in editor and help mode only, and these can also be entered by running QBASIC.EXE
with the /EDITOR
and /QHELP
switches (i.e., command lines QBASIC /EDITOR
and QBASIC /QHELP
).
QBasic came complete with four pre-written example programs. These were Nibbles, a variant of the Snake game; Gorillas, an artillery game; MONEY MANAGER, a personal finance manager; and RemLine, a Q-BASIC code line-number-removing program.[1]
QBasic has an Easter egg accessed by pressing and holding Left CTRL+Left SHIFT+Left ALT+Right CTRL+Right SHIFT+Right ALT simultaneously after running QBasic at the DOS prompt but before the title screen loads: this lists The Team of programmers.[7]
See also
- Microsoft Small Basic
- QB64
References
- "Differences Between GW-BASIC and QBasic". 2003-05-12. Archived from the original on 2008-02-21. Retrieved 2020-09-05.
- "QBASIC Manual: SUB...END SUB Statement QuickSCREEN". Archived from the original on 2008-10-07. Retrieved 2008-06-28.
- "QBASIC Manual: TYPE Statement QuickSCREEN". Archived from the original on 2017-03-24. Retrieved 2008-06-28.
- "QBASIC Manual: Limits - Names, Strings, and Numbers". Archived from the original on 2016-03-04. Retrieved 2008-06-28.
- "Microsoft BASIC version information". Retrieved 2008-06-12.
- "QBasic Missing from Windows 2000". 2007-03-01. Retrieved 2008-06-12.
- "QBasic - Developer Credits". 1999-07-23. Retrieved 2008-06-12.
External links
- Runnable QBasic 1.1 via the Internet Archives
- Download QBASIC 1.1 from the Internet Archive
- QB Express: Qbasic and Freebasic programming magazine
- Jack Thomson, The QBasic Station, archived from the original on 2004-06-04: created in 1997, one of the oldest QBasic sites on the web
- Programmed Lessons in QBasic: an introduction