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 ...
(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 tha ...
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, Washi ...
. QuickBASIC runs mainly on
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
, 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. ...
. 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 Microsoft QuickC is a discontinued commercial integrated development environment (IDE) product engineered by Microsoft for the C programming language, superseded by Visual C++ Standard Edition. Its main competitor was Borland Turbo C. QuickC is ...
and QuickPascal.


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 ...
. 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 ...
(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 ( ...
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, 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 o ...
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 ...
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 ...
with at least 1 MB of RAM. QuickBASIC could also be run on
System 7 System 7, codenamed "Big Bang", and also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple C ...
, 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 "99 Bottles of Beer" or "100 Bottles of Pop on the Wall" is a song dating to the mid-20th century. It is a traditional reverse counting song in both the United States and Canada. It is popular to sing on road trips, as it has a very repetitive ...
: 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 passe ...
: 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 feedba ...
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 ...
. 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 ma ...
s to the language. Today, programmers sometimes use DOS
emulator In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use pe ...
s, 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, whi ...
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 FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer m ...
and QB64, 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 su ...
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 spa ...
or the internet. This has allowed systems even as old as an
8088 The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers a ...
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, initia ...
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 ( ...
was the successor of QuickBASIC. Other compilers, like
PowerBASIC PowerBASIC, formerly Turbo Basic, is the brand of several commercial compilers by PowerBASIC Inc. that compile a dialect of the BASIC programming language. There are both MS-DOS and Windows versions, and two kinds of the latter: Console and Wind ...
and
FreeBASIC FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer m ...
, have varying degrees of compatibility. QB64, 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 ...
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 se ...
,
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, whi ...
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 la ...
.


See also

* QBasic * Turbo Basic * QB64


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