Microsoft BASIC PDS
   HOME

TheInfoList



OR:

Microsoft QuickBASIC (also QB) is an
Integrated Development Environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(or IDE) and
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
for the
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
that was developed by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
. QuickBASIC runs mainly on DOS, though there was also a short-lived version for the
classic Mac OS Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The ...
. 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 QuickBASIC as the introductory level for their BASIC Professional Development System. Microsoft marketed two other similar IDEs for C and Pascal, viz QuickC and
QuickPascal Microsoft Pascal is a discontinued implementation of the Pascal programming language developed by the Microsoft Corporation for compiling programs for running on its MS-DOS and Xenix operating systems and, in later versions, on OS/2 (like many oth ...
.


History

Microsoft released the first version of QuickBASIC on August 18, 1985 on a single 5.25-inch 360 KB
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
. QuickBASIC version 2.0 and later contained an
Integrated Development Environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(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. 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. 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. At the same time, the QuickBASIC packaging was silently changed so that the disks used the same compression used for BASIC PDS 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 QuickBASIC and Basic PDS was
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic (cl ...
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 QuickBASIC 4.5, named
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 ex ...
, was included with
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
5 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 VBDOS 1.0 compiler, if available. QuickBASIC 1.00 for the
Apple Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
operating system was launched in 1988. It was officially supported on machines running
System 6 System 6 (or System Software 6) is a graphical user interface-based operating system for Macintosh computers, made by Apple Computer It was released in 1988, and is part of the classic Mac OS series. It is a monolithic operating system, with coop ...
with at least 1 MB of RAM. QuickBASIC could also be run on System 7, as long as 32-bit addressing was disabled.


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." Graphics example: 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$)
Bubble sort Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the input list element by element, comparing the current element with the one after it, swapping their values if needed. These passes ...
: REM sample of bubble sort N = 10 DIM A(N) AS INTEGER FOR L = 1 TO N A(L) = INT(RND * 10 + 1) NEXT FOR X = 1 TO N FOR Y = 1 TO N - 1 IF A(X) < A(Y) THEN SWAP A(X), A(Y) NEXT NEXT FOR L = 1 TO N PRINT A(L) NEXT END


Current uses

QuickBASIC has an unofficial community of hobby programmers who use the compiler to write
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s,
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
s and
utilities A public utility company (usually just utility) is an organization that maintains the infrastructure for a public service (often also providing a service using that infrastructure). Public utilities are subject to forms of public control and r ...
. The community has dedicated several Web sites, message boards and
online magazine An online magazine is a magazine published on the Internet, through bulletin board systems and other forms of public computer networks. One of the first magazines to convert from a print magazine format to being online only was the computer magaz ...
s to the language. Today, programmers sometimes use DOS emulators, such as
DOSBox DOSBox is a free and open-source emulator which runs software for MS-DOS compatible disk operating systems—primarily video games. It was first released in 2002, when DOS technology was becoming obsolete. Its adoption for running DOS games i ...
, to run QuickBASIC on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and on modern
personal computer hardware Computer hardware includes the physical parts of a computer, such as the case, central processing unit (CPU), random access memory (RAM), monitor, mouse, keyboard, computer data storage, graphics card, sound card, speakers and motherboard ...
that no longer supports the compiler. Alternatives to this include FreeBASIC and
QB64 QB64 (originally QB32) is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 is a C++ emitter, which is integrated with a C++ compiler to provide compi ...
, but they cannot yet run ''all'' QBasic/QuickBASIC programs. Since 2008, a set of
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
routines for QuickBASIC 4.x and 7.1 has revitalized some interest in the software. In particular, the
vintage computer A vintage computer is an older computer system that is largely regarded as obsolete. The personal computer has been around since approximately 1971. But in that time, numerous technological revolutions have left generations of obsolete computing e ...
hobbyist community has been able to write software for old computers that run DOS, allowing these machines to access other computers through a
LAN Lan or LAN may also refer to: Science and technology * Local asymptotic normality, a fundamental property of regular models in statistics * Longitude of the ascending node, one of the orbital elements used to specify the orbit of an object in sp ...
or the internet. This has allowed systems even as old as an 8088 to serve new functions, such as acting as a
Web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiate ...
or using IRC.


Successors

Microsoft's
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic (cl ...
was the successor of QuickBASIC. Other compilers, like PowerBASIC and FreeBASIC, have varying degrees of compatibility.
QB64 QB64 (originally QB32) is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 is a C++ emitter, which is integrated with a C++ compiler to provide compi ...
, a
multiplatform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
QuickBASIC to C++ translator, retains close to 100% compatibility and compiles natively for
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
.


See also

*
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 ex ...
* Turbo Basic *
QB64 QB64 (originally QB32) is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 is a C++ emitter, which is integrated with a C++ compiler to provide compi ...


References


External links


Version History of Microsoft QuickBasic for MS-DOS
{{DEFAULTSORT:Quickbasic Discontinued Microsoft BASICs BASIC compilers DOS software 1985 software Classic Mac OS programming tools BASIC programming language family