發展歷程
初期階段
20世紀60年代中期,美國達特茅斯學院約翰·凱梅尼(J. Kemeny)和托馬斯·卡茨(Thomas E. Kurtz)認為,像FORTRAN(世界上最早出現的計算機高級程式設計語言)那樣的語言都是為專業人員設計,沒有辦法普及。於是,他們在簡化FORTRAN的基礎上,在1964年研製出一種“初學者通用符號指令代碼”( Beginner's All-purpose Symbolic Instruction Code),簡稱BASIC 。
BASIC語言本來是為校園的大學生們創造的高級語言,目的是使大學生容易使用計算機 。雖然初期的BASIC語言功能弱、語句少,只有14條語句(後來發展到17條語句) ,但由於BASIC在當時比較容易學習,它很快從校園走向社會,成為初學者學習電腦程式設計的首選語言 。這個時期的BASIC主要在小型機上使用,以編譯方式執行 。
微機階段
20世紀70年代,BASIC語言發展成為一種廣泛使用的通用語言,也正是這個年代,微型計算機誕生了,做為必備的軟體,各種微機上都配備了BASIC語言,例如:Apple BASIC、IBM BASIC(BASICA)等。由於各機型不同,它們對基本BASIC語言的擴展也不相同,導致了同是BASIC語言程式卻不能互相兼容的局面(例如各種BASIC語言的繪圖語句差別很大),即所謂“方言性”問題 。
1973年,美國DEC公司的小型機PDP裝上了BASIC語言。因為害怕人們難以理解“編譯”這一概念,他們研製了BASIC的解釋程式,用它代替BASIC的編譯程式。至此,BASIC語言可通過編譯或解釋兩種途徑將程式翻譯成機器指令 。
1975年,比爾·蓋茨創立的Microsoft,並成功的把Basic語言的編譯器移植到使用 Intel處理器的ALR計算機中,IBM在1982年選定Microsoft創作PC的作業系統時,也選定了Microsoft的Basic作為其計算機的ROM-Basic 。
結構化階段
在20世紀80年代中期,美國國家標準化協會(ANSl)根據結構化程式設計的思想,提出了一個新的BASIC標準草案。在此前後,出現了一些結構化的BASIC語言,主要有True BASIC、Quick BASIC、Turbo BASIC等。
1985年BASIC的兩位創始人推出的True BASIC,對BASIC語言作了重大改進和發展,它嚴格遵循ANSI BASIC,不僅完全適應結構化和模組化程式設計的要求,而且保留了BASIC語言的優點——易學易懂,程式易編易調試,它同時提供了解釋工作方式和編譯工作方式。他們宣稱,True BASIC的出現將開始BASIC的新紀元 。
1987年Microsoft公司推出的Quick BASIC,它提供了一個開發程式的集成環境,用戶在編程式、修改、編譯、調試、運行時均可通過選單進行操作、十分方便;並且與GW-BASIC和BASICA高度兼容,提供了全局變數和局部變數;程式模組化;編譯後產生一個執行檔,提高執行效率 。
1991年6月,伴隨著MS-DOS 5.0的推出,Microsoft公司也同時推出了QBASIC,並作為MS-DOS 5.0的一個組成部分免費提供給用戶。QBASIC與Quick BASIC完全兼容,是Quick BASIC的簡化版本,除不能編譯及減少了初學者暫時用不著的一些調試工具外,它具有Quick BASIC的大部分功能。QBASIC採用先進的解釋方式,速度更快,是一種會話式的語言,編寫的程式可以立即運行並得到結果 。
VB階段
1991年4月,Visual Basic 1.0 for Windows版本發布,這在當時引起了很大的轟動,許多專家把VB的出現當作是軟體開發史上的一個具有劃時代意義的事件 。Visual BASIC意為“可視的BASIC”,即圖形界面的BASIC,它是用於Windows系統開發的套用軟體,可以設計出具有良好用戶界面的應用程式。Visual BASIC與Quick BASIC兼容,用Quick BASIC編寫的程式可以不加修改地運行於Visual BASIC 。
1998年6月15日,Microsoft公司推出Visual BASIC的第6版(即6.0版本),之後,又推出Visual Basic 6.0中文版 。VB 6.0作為Microsoft Visual Studio 6.0工具套件之一,它提供了圖形化、ODBC實現整合資料瀏覽工具平台,提供了與Oracle和SQL Server的資料庫連結工具。VB 6.0的Web開發特性可以使得開發人員以更方便、組件式的方法,開發各種HTML和動態HTML的應用程式。這些新特性,使得VB 6.0成為建立可擴展的企業套用開發平台的理想選擇 。Microsoft公司總裁比爾·蓋茨宣稱:“Visual BASIC是迎接電腦程式設計挑戰的最好例子” 。
2001年,VB.NET發布。由於使用了新的核心和特性,很多VB的程式設計師都要改寫程式。2005年11月7日,VB.NET 2005(v8.0)發布。它可以直接設計出Windows XP風格的界面,但是其編寫的程式占用記憶體較多。2010年4月,VB.NET 2010(v10.0)發布 。
Visual BASIC屬於第四代BASIC,第四代BASIC的特點是:提供圖形界面取代過去的字元界面,是“for Windows”的軟體 。
語法規則
語句
一、基本BASIC的17種基本語句
1.賦值(LET)語句
2.鍵盤輸入(INPUT)語句
3.讀數(READ)語句
4.置數(DATA)語句【配合讀數語句使用,稱讀數據(READ/DATA)語句】
5.恢複數據區(RESTORE)語句
6.無條件轉移(GOTO)語句
7.條件轉移(IF~THEN或IF~GOTO)語句
8.注釋(REM)語句
9.循環說明(FOR)語句
10.循環終了(NEXT)語句【與循環說明語句合成循環(FOR~NEXT)語句】
11.暫停(STOP)語句
12.自定義函式(DEF)語句
13.轉子(GOSUB)語句
14.返回(RETURN)語句【配合轉子語句使用,調用子程式】
15.數組說明(DIM)語句
16.列印(PRINT)語句
17.結束(END)語句
二、BASIC語言中常用的語句定義符及其含意
LET | 讓、令 | GOTO | 轉移到 | STOP | 暫停 |
IF | 如果 | THEN | 則 | DATA | 數據 |
FOR | 對於 | TO | 到 | DIM | 維數 |
STEP | 步進值 | NEXT | 下一個 | GOSUB | 轉子 |
列印 | INPUT | 輸入 | DEF | 定義函式 | |
RESTORE | 恢復 | END | 結束 | REM | 注釋 |
RETURN | 返回 | READ | 讀 |
詞法
一、數的表示方法
BASIC中有數值常數及字元型常數。字元型常數為用引號括起來的一串字元,也稱為字元串。引號不是字元串的一部分,僅作為字元串的起止界限。每個字元在機內占一個位元組。
在N-BASIC中數值常數分為整型、定點型、浮點型(單精度及雙精度)、十六進制常數及八進制常數等。
二、變數的表示方法
變數有數值變數及字元型變數,前者是存放數值的,後者存放字元串。變數的值在程式執行過程中是不斷變化的。當程式執行到某處賦予變數新的值就要“衝掉”它原有的值。
三、運算符
1.算術運算符:任一個數學表達式中的算術運算是按優先度進行運算的,相同優先度自左向右順序作。
2.賦值運算符:用“=”表示賦值時稱為賦值運算符, 用它來給數值變數賦數值常數或給字元型變數賦字元型常數。
3.關係運算符(亦稱比較算符):關係運算符是用來比較兩個表達式的,每個表達式都是算術表達式,在比較時,先算出表達式的值然後比較。用關係運算符也可以比較字元型變數,字元型常數及字元型函式等。
4.布爾運算符(或稱邏輯運算符):布爾運算符是對一個或兩個表達式進行邏輯運算。
四、標準函式
BASIC語言中配備了一些常用的函式,用戶可以自由調用,調用時寫好函式名後面加一括弧,括弧內X的位置寫上實在參數就可以了,實在參數可使用常數、變數、表達式或標準函式等。
五、運算規則
在算術表達式中運算的優先度可按如下次序:
1.先算括弧,由里向外脫括弧。
2.計算標準函式值。 ’
3.乘冪。
4.乘或除:白左向右傾序作。 ‘
5.加或減:自左向右順序作。
其它的運算優先度按前面算術運算符的排列進行。
六、BASIC表達式
用符合BASIC規定的運算符號將數、變數、函式、數組元素連線起來的複雜運算對象稱為BASIC表達式。注意BASIC表達式中每個符號都占一格,所有符號都必須一個接一個寫在一橫線上,不能出現在右上角或左下角。
代碼示例
以下代碼為m與a兩數相乘輸出結果:
語言特點
一、BASIC語言比較簡單
基本BASIC一共只有17個基本語句,它使用的命令都是用英文表示的,英文的含意和人們日常使用的詞意相同。它使用的運算符號和數學中使用的符號類似。因此便於人們理解。
二、BASIC語言是會話式的語言
使用BASIC語言可以通過鍵盤終端與字元顯示器或電傳打字機,進行人和計算機的對話。有的微型機當BASIC源程式送入計算機時,計算機能立即檢查出詞法錯誤(或拼寫錯誤),並且通過電傳機或字元顯示器列印出來,用戶可以立即在鍵盤上修正。當修改後的程式運行時,計算機又能查出程式中的語法錯誤並列印出來,用戶可以再次進行修改,直到得到滿意的結果。也有的微型機,當BASIC源程式送入計算機後,運行程式時同時檢查詞法及語法錯誤,並列印出錯誤信息。因此對初學者來說,調試BASIC程式是很方便的。另外還可通過一些命令監督和控制程式的運行。
三、BASIC語言有立即執行方式
BASIC語言可直接使用鍵盤運算,稱為立即執行方式。這時計算機相當一台高級計算器。利用它可檢查程式運行結果是否正確。
四、BASIC語言是一種小型的算法語言
在BASIC語言中數的範圍,簡單變數的數目,數組的維數及每維的大小,自定義函式的個數等均有一定限制,因此它的套用範圍也受到一定限制。同時,科研、教學及生產中的一般題目用BASIC語言解決也是較方便的。
BASIC語言是國際通用的算法語言,有共同的規定,但每台計算機使用的BASIC語言會有—些差別,特別是不同機型的擴展BASIC差別較大,使用前可查閱說明書 。
標準要求
ANSI X3.60-1978 FOR MINIMAL BASIC ANSIX3.60 ANSI X3.60 X3.60
ECMA -55 Minimal BASIC (1978年1月) 已撤回
ISO 6373-1984 Data processing; Programming languages; Minimal BASIC
ANSI INCITS 113-1987 Information Systems - Programming Languages - Modules and Individual Character Input for Full BASIC(信息系統.程式設計語言.全BASIC的模組和個別字元輸入)
ECMA-116 BASIC (1986年6月) 已撤回
ISO/IEC10279-1991 Information technology; programming languages; Full BASIC(信息技術 程式設計語言 全BASIC)
影響
Basic開啟了計算機領域全方位創意探索的大門:一些用戶開發了電腦遊戲(早期的電腦足球遊戲在校園裡很受歡迎),另一些計算機項目則關注於自然科學、社會科學和人文科學領域。
計算機熱度開始超越達特茅斯學院校園範圍。校園所在地的漢諾瓦高中很快就通過電話線路實現了計算機的遠程訪問,這也誕生出了第一代的“計算機兒童”。美國東北部的一些學校出現了早期網際網路的雛形,他們都可以使用到達特茅斯學院的計算機。
人們對於計算機的熱情催生出了分時計算機這個細分市場,一家名為“微軟”的公司也由此出現,同時蘋果也在第一款計算機中集成了自己開發的Basic編譯器,眾多版本的Basic語言在全球範圍內不斷發展 。