- GW-BASIC
-
GW-BASIC Appeared in 1983 Developer Microsoft (for Compaq) Stable release 3.23 (1988) Influenced by IBM Cassette BASIC, IBM Disk BASIC, IBM BASICA Influenced QBasic, QuickBasic OS DOS GW-BASIC was a dialect of the programming language BASIC developed by Microsoft from BASICA, originally for Compaq. It is compatible with Microsoft/IBM BASICA, but was disk based and did not need the ROM BASIC. It was bundled with MS-DOS operating systems on IBM PC compatibles by Microsoft. Microsoft also sold a BASIC compiler, BASCOM, compatible with GW-BASIC, for programs needing more speed. The language was suitable for simple games, business programs and the like. Since it was included with most versions of MS-DOS, it was also a low cost way for many would-be programmers to learn the fundamentals of computer programming.[1][2] With the release of MS-DOS 5.0, GW-BASIC's place was eventually taken by QBasic, a cut-down version of the separately available QuickBASIC compiler.[3]
Contents
Syntax
GW-BASIC has a command line-based integrated development environment (IDE) based on Dartmouth BASIC. It also includes function key shortcuts at the bottom of the screen. Like other early microcomputer versions of BASIC, GW-BASIC lacked many of the structures needed for structured programming such as local variables, and GW-BASIC programs executed relatively slowly, because it was an interpreted programming language. All program lines must be numbered; all non-numbered lines are considered to be commands in direct mode to be executed immediately. Program source files are normally saved in binary compressed format with tokens replacing commands, with an option to save in ASCII text form.[4]
The GW-BASIC command-line environment has commands to
RUN,LOAD,SAVE,LIST
the current program, or quit to the operatingSYSTEM
; these commands can also be used as program statements. There is little support for structured programming in GW-BASIC. AllIF/THEN/ELSE
conditional statements must be written on one line, althoughWHILE/WEND
statements may group multiple lines. Functions can only be defined using the single lineDEF FNf(x)=
<mathematical function of x> statement (e.g.,DEF FNLOG(base,number)=LOG(number)/LOG(base)
). The data type of variables can be specified with a character at the end of the variable name:A$
is a string of characters,A%
is an integer, etc. Groups of variables can also be set to default types based on the initial letter of their name by use of theDEFINT, DEFSTR
, etc., statements. The default type for undeclared variables not identified by such typing statements, is single-precision floating point.[5]GW-BASIC allowed use of joystick, mouse and light pen input devices of its time. GW-BASIC can read from and write to files and COM ports; it can also do event trapping for ports. Since the cassette port interface of the original IBM PC was never implemented on compatibles, cassette operations are not supported. GW-BASIC is able to play simple music using the
PLAY
statement, needing a string of notes represented in a music macro language (e.g.PLAY "edcdeee2dfedc4"
). More low-level control is possible with theSOUND
statement, which takes the arguments of a frequency in hertz and a length in clock ticks for the standard internal PC speaker in IBM machines. Consequently sound is limited to single channel beeps and whistles as befits a 'business' machine. Home-based PCs such as the Tandy 1000 allowed up to three channels of sound for theSOUND
andPLAY
commands.[5]Name
There are several theories on what the initials "GW" stand for. Greg Whitten, an early Microsoft employee who developed the standards in the company's BASIC compiler line, says Bill Gates picked the name GW-BASIC. Whitten refers to it as Gee-Whiz BASIC and is unsure if Gates named the program after him.[6] The Microsoft User Manual from Microsoft Press also refers to it by this name.[citation needed] It may have also been nicknamed Gee-Whiz because it had a large number of graphics commands.[6] Other common theories as to the initials' origins include "Graphics and Windows", "Gates, William" (Microsoft's president at the time), or "Gates-Whitten" (the two main designers of the program).[7][8]
References
- ^ "KindlyRat". "GW-BASIC". Archived from the original on 2005-07-26. http://web.archive.org/web/20050726081451/http://www.geocities.com/KindlyRat/GWBASIC.html. Retrieved 2009-11-10.
- ^ "Leon". "GWBASIC Games & Other Programs". Archived from the original on 2009-10-26. http://web.archive.org/web/20091026132941/http://geocities.com/dos11basic/index.htm. Retrieved 2009-11-10.
- ^ "Microsoft BASIC version information". http://www.emsps.com/oldtools/msbasv.htm#qbasic. Retrieved 2008-06-12.
- ^ "GW-BASIC Documentation and Utilities". Archived from the original on 2007-12-17. http://web.archive.org/web/20071217161146/http://www.xs4all.nl/~hwiegman/gwbasic.html.
- ^ a b "GW-BASIC User's Guide". 1987. http://www.xs4all.nl/~hwiegman/gw-man/index.html. Retrieved 2008-06-28.
- ^ a b Gregory Whitten (2005-04-13). "GW-BASIC". http://www.classiccmp.org/pipermail/cctech/2005-April/042999.html. Retrieved 2008-06-29.
- ^ "Linux Dictionary:G". http://www.tldp.org/LDP/Linux-Dictionary/html/g.html. Retrieved 2008-06-28.
- ^ "GW-BASIC". 2005-04-13. http://classiccmp.org/pipermail/cctech/2005-April/042967.html. Retrieved 2008-06-28.
External links
- Classic Basic Games Page, a resource for BASIC games and other programs
- Back to BASICs, another BASIC resource site
- GW-BASIC interpreter program and files download site at the Wayback Machine (archived July 26, 2005)
- GW-BASIC User's Manual
- Gary Beene's Information Center regarding BASIC, with timeline dates for DOS, Windows and BASIC dialects
Categories:- BASIC programming language family
- Discontinued Microsoft BASICs
- Programming languages created in 1983
- BASIC interpreters
Wikimedia Foundation. 2010.