BASIC語言滿50歲
設計給初學者使用的BASIC程式語言在周四(5/1)度過50歲生日,迄今它仍然有許多分支(dialect),例如微軟的Visual Basic也是從BASIC衍生而來。
BASIC的原名為「初學者的全方位符式指令碼」(Beginner's All-purpose Symbolic Instruction Code),又稱培基語言,美國達特茅斯學院(Dartmouth College)的John Kemeny與Thomas E. Kurtz在1964年的5月1日設計了BASIC,當時使用電腦必須撰寫客製化軟體,通常只有具備科學與數學背景的人才做得到,而BASIC就是為了讓上述領域之外的人也能寫程式來操作電腦。
第一個版本的BASIC只有14個指令,這些指令都非常淺顯易懂,像是print、let、if、then、for、next、goto或end等,之後加入了input。簡單的程式設計概念讓這個原本只是要給達特茅斯學生利用的程式語言開始向外蔓延,成為當時很多人學習程式語言的敲門磚。
BASIC(英語:Beginner's All-purpose Symbolic Instruction Code,又譯培基),意思就是「初學者的全方位符式指令代碼」,是一種設計給初學者使用的程式語言。BASIC是一種直譯式的程式語言,在完成編寫後不須經由編譯及連結等手續即可執行,但如果需要單獨執行時仍然需要將其建立成執行檔。
1964年,兩位美國電腦科學家G. Kemeny和Thomas E. Kurtz在FORTRAN語言的基礎上創造了一種新的語言——BASIC,BASIC是一種適用於初學者的人機互動式語言。
Basic的名字——Beginner's All-purpose Symbolic Instruction Code(初學者通用的符號指令代碼),原來被作者寫做BASIC,只是後來被微軟廣泛的叫做Basic了。
BASIC語言本來是為校園的大學生們創造的高階語言,目的是使大學生容易使用電腦。儘管初期的BASIC僅有幾十條語句,但由於BASIC在當時比較容易學習,它很快從校園走向社會,成為初學者學習電腦程式設計的首選語言。
隨著電腦科學技術的迅速發展,特別是微型電腦的廣泛使用,電腦廠商不斷地在原由的BASIC基礎上進行功能擴充,出現了多種BASIC版本,例如TRS-80 BASIC、Apple BASIC、GWBASIC、IBM BASICA(即BASICA)、True BASIC。此時BASIC已經由初期小型、簡單的學習語言發展成為功能豐富的使用語言。它的許多功能已經能與其他優秀的電腦高階語言相媲美,而且有的功能(如繪圖)甚至在當時超過其他語言。
在單片機上亦可以使用BASIC編程(一般是行號類型的BASIC),不過多數情況下要安裝BASIC的ROM。
最原始的BASIC語言是在1964年由John Kemeny和Thomas Kurtz設計,並且在他們的指導下由Dartmouth的學生實作的。當時設計BASIC語言的目的是讓學生能在Dartmouth的分時作業系統上寫程式。這種語言是為了解決以前語言的複雜的問題,而設計的一種新的語言。它特別針對了那些新的要用到分時系統,但是卻沒有以往學生那樣有很深厚的數學功底,又對學習這些數學知識不感興趣的那些學生。能夠使用一台電腦來幫助教學和研究在那個時候是非常新穎的一件事情。在那段時間中,隨著其他形式的BASIC語言的出現,人們就把Kemeny和Kurtz的最原始的BASIC語言形式被人們稱為Dartmouth BASIC。
BASIC語言的8個設計原則是:
- 讓初學者容易使用。
- 成為通用程式語言。
- 允許為熟練者添加高階的功能(與此同時對初學者保持簡單)。
- 成為互動式語言。
- 提供清楚的和友好的錯誤訊息。
- 對小型的程式反應迅速。
- 不需要對硬體的了解。
- 將使用者和作業系統隔離。
這種語言一部分基於FORTRAN II,一部分基於ALGOL 60,並且在此之上增加了一些東西使之適和於分時功能。(另外擁有這種功能的分時系統有JOSS和CORC,LISP也在較小程度上的支援這種功能,我們也考慮在內。)在它之前,Dartmouth研究開發了DARSIMCO(1956)和DOPE(1962,實作了SAP和DART(1963)一個精簡版的FORTRAN II)。最初,BASIC語言致力於簡單的數學運算,在它最初的作為批次處理語言的實作中就有對矩陣運算的支援,在1965年完整的字串處理功能被加入其中。BASIC語言最初在支援多個終端的GE-265大型電腦上實作。在它最初被引入的那段時間中,它是一種編譯型語言,並且效率十分高,在GE-265大型電腦中的一些具有一定的計算上密集的(至少在當時是如此)的程式,比如用辛普森法則進行數值積分的計算效率上擊敗了FORTRAN II和ALGOL 60。
BASIC語言的設計者為了使這種語言廣為傳播,決定將編譯器可以讓人免費獲得。他們同時也向漢諾瓦地區的高校提供了這種語言並且在促進BASIC語言方面花了很大的功夫。結果是有關於BASIC語言的知識傳播的非常廣泛,並且被很多的製造商實作,逐漸在一些較新的小型機像DEC PDP系列和Data General Nova中盛行起來。BASIC語言同時也在20世紀60年代末70年代初成為了惠普分時BASIC系統的核心,另外也是Pick作業系統的核心。在以上這些例子中,BASIC語言趨向於以直譯器的方式實作,而不是編譯器。
當三種新的個人電腦在1977年問世的時候,也就是Byte Magazine後來稱作"1977 Trinity"的那段時間,所有的這三種的電腦都用BASIC語言作為他們的程式語言和操作環境。Commodore Business Machines公司一次性的付費買下一個移植到他們PET電腦的6502晶片中Micro-Soft BASIC的一個無限授權版本,於此同時Apple II和TRS-80都引入了一個新的,與這種語言極大相似的語言。
早在1979年微軟公司就開始和IBM協商給IBM的PC機提供一個燒在BIOS裡面的IBM Cassette BASIC(BASIC C)。微軟公司後來出售了一些在MS-DOS和PC-DOS上的BASIC語言版本,包括IBM Disk BASIC(BASIC D)、IBM BASICA(BASIC A)、GW-BASIC(一個不需要IBM機器ROM以及與BASICA相容的版本)和QuickBASIC。發行了Turbo Pascal的Borland公司在1985年發行了Turbo BASIC 1.0(即後來的PowerBASIC)。微軟公司同樣還編寫了一個基於窗口的AmigaBASIC,支援一個在當時非常先進的多工圖形介面的電腦Amiga computers的1.1版本(1985年末,1986年初)。
| 編程範型 | 非結構化程式設計,過程 |
|---|---|
| 面市時間 | 1964年 |
| 設計者 | 約翰·克米尼和托馬斯·庫爾茨 |
| 型態系統 | 強型別 |
| 主要實作產品 | Apple BASIC,BBC BASIC,Microsoft BASIC,TI-BASIC |
| 啟發語言 | ALGOL 60,FORTRAN II,JOSS |
| 影響語言 | COMAL,Visual Basic,Visual Basic .NET,REALbasic,REXX,Perl,GRASS |
