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的運行環境及一段代碼 GW-BASIC的運行環境及一段代碼

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及其兼容機的標準內置揚聲器發出聲音。

相關詞條

相關搜尋

熱門詞條

聯絡我們