gw-basic
科技术语
GW-BASIC是高级程序设计语言BASIC的一个方言版本。关于GW的含义,有三种说法,一种认为是以微软早期程序员Greg Whitten的名字命名的,一种认为是用微软创始人的名字Gates,William命名的,还有一种说法是开发人员给它取的一个戏称gee-whiz(两个英语的象声词,类似于汉语中吆喝牲口的声音)。有一点是肯定的,这个版本的BASIC最早是微软为康柏开发的,时间应该是在1984年,这一年11月,微软,这一年11月,微软首次为IBM之外的计算机厂商提供OEM版本的DOS,GW-BASIC是作为MS-DOS的一个组成部分问世的。首次为IBM之外的计算机厂商提供OEM版本的DOS,GW-BASIC是作为MS-DOS的一个组成部分问世的。
历史地位
Basic的发展经历了三个阶段:
非结构化Basic语言,如:gw-Basic、MS Basic
结构化Basic语言,如:True Basic、Turbo Basic、Quick Basic
面向对象的程序设计语言,即Visual Basic
gw-basic属于非结构化basic,也就是最早期的basic语言,没有loop和while循环语句,局限性很大。
特性
GW-BASIC和微软提供给IBM PC的BASICA完全兼容,所不同的是,后者依赖于ROM中的BASIC解释器,而前者并不需要,所以,GW-BASIC能在众多IBM PC兼容机上运行,这就使它的使用范围随着PC兼容机的推广而扩大。第一个流传范围较广的GW-BASIC版本号为2.0,而最后推出的GW-BASIC版本号为3.23,时间大概是1988年。从那时起,如果没有特殊说明,我们一般所说的GW-BASIC就是指的这个版本。
GW-BASIC运行速度较慢,这在很大程度上是因为它是一种交互式的开发工具——这种开发模式是BASIC的诞生地Dartmouth大学最早提出的。和很多早期的BASIC方言一样,GW-BASIC缺乏很多进行结构化编程所需的语法成分,但是它足够灵活,此外还拥有很多绘图语句和一些简单的发声语句,这就足以使一个程序员用它开发一个简单的游戏软件、商用软件或者诸如此类的东西。它能够在绝大多数PC上运行,这就给那些想要成为程序员的人提供了一个学习如何编程的廉价的途径。
语法
GW-BASIC拥有一个简单的集成开发环境(IDE),所有的程序行都必须有一个行号,没有行号的语句被认为是需要立即执行的命令。用户界面中,除屏幕底部的功能快捷键描述和顶部的版权声明外,其他部分都用来显示和编写语句。源文件标准的保存格式是GW-BASIC特有的二进制压缩格式,不过它也提供了一个选项,使得开发者可以用ASCII文本文件格式保存源文件。GW-BASIC的IDE提供了如下常用命令:RUN(执行当前源代码),LOAD(从磁盘装入源代码),SAVE(把源代码保存到磁盘),LIST(显示已打开的源文件内容),SYSTEM(返回操作系统)。它们都可以出现在源程序代码行上,不过除SYSTEM外,上述用法还相当少见。
前面提到,GW-BASIC对结构化程序设计方法的支持非常差,所以对GW-BASIC程序员来讲,能够用它写出具备良好结构的程序是很大的提高。在GW-BASIC里,IF/THEN/ELSE条件语句必须在一行内写完,尽管WHILE/WEND已允许包含多行代码;自定义函数只能用类似于DEF FNf(x) = <关于x的数学函数> 这样形式的一行语句来编写(例如,DEF FNLOG(base,number)=LOG(number)/LOG(base));变量通常是通过变量名末端的一个表示类型的符号来确定其类型的:A$表示是一个字符串,A%表示是一个整型数,等等;通过使用DEFINT,DEFSTR等关键字,可以为一组使用相同首字母的变量定义缺省类型;其他变量其类型默认是单精度浮点数
很多GW-BASIC程序员都是没有经过训练的,他们往往看不到编写结构简单的程序所能带来的好处,因此就导致滥用GOTO语句的现象,他们往往不愿意使用能完成同样功能的结构化的语句。参见面条式代码
GW-BASIC支持游戏操纵杆光笔输入设备,但不支持鼠标。它能够读写磁盘文件、LPT端口和COM端口,也能处理端口事件陷阱,不过不能处理磁带设备。它还能通过使用PLAY语句或SOUND语句来驱动IBM PC及其兼容机的标准内置扬声器发出声音。
参考资料
basic语言介绍.集美大学计算机工程学院.2003-02-09
最新修订时间:2021-09-23 15:55
目录
概述
历史地位
特性
参考资料