gw-basic
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
面向對象的程序設計語言,即Visual Basic
gw-basic屬於非結構化basic,也就是最早期的basic語言,沒有loop和while循環語句,局限性很大。
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語句的現象,他們往往不願意使用能完成同樣功能的結構化的語句。參見麵條式代碼。