Can you summarize the following document?
        
  1964年,兩位美國數學家兼電腦科學家約翰·克米尼和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年由約翰·克米尼和Thomas E. 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語言趨向於以直譯器的方式實現,而不是編譯器。  在它發行的若干年之後,一些非常有聲望的計算機專家,特別是艾茲赫爾·戴克斯特拉,表達了他們對於使用GOTO語句的看法。他們認為,存在於包括BASIC語言在內的很多語言中的GOTO語句,會使編寫程式變得很糟糕。有些人同時也嘲笑BASIC語言速度太慢(大多數語言的解釋型版本要比同樣的編譯型的要慢)或者BASIC語言太簡單了(許多版本,特別是為小電腦設計的版本,捨去了一些重要的功能以及效能)

  儘管BASIC語言在一些小型機上使用了,但是它真正進入大學是在1975年的MITS Altair 8800 "kit"微型機的引入。大多數的程式語言需要一個適用的文字編輯器,大量的記憶體和磁碟空間。但是當時的情況則是,那個時候的微型機沒有本地的編輯器,僅有有限的記憶體以及一般將錄音磁帶做為磁碟儲存資料。所有的這些問題,使得像BASIC那樣以解釋形式執行以及擁有內建的程式碼編輯器的語言能夠在這些限制下執行。  BASIC語言同時還具有的優勢就是它在那些對微型機感興趣的年輕的設計師和計算機愛好者中相當出名,以及在那個時候的電子工業中BASIC語言被普遍的使用。另外Kemeny和Kurtz在早期在傳播BASIC語言這一方面所花的努力也功不可沒,在那個時候一些愛好者的雜誌中幾乎都被一段一段的提及BASIC語言的文章填滿,或者差不多全部都在關注一個版本和其他版本的比較。  最先在像Altair那樣8080機器中出現的BASIC語言之一是Tiny BASIC,一個簡單的BASIC語言的的實現,最初由Li-Chen Wang博士編寫,隨後被Dennis Allison應Bob Albrecht(他隨後建立了雜誌Dr. Dobb's Journal)的要求移植到Altair中。Tiny BASIC的設計和全部的原始碼都在1976年於DDJ雜誌中被公佈出來。  1975年,MITS釋出了Altair BASIC,由Bill Gates和Paul Allen作為一個叫做Micro-Soft的公司開發,後來Micro-Soft則發展成今天的企業巨頭——微軟(Microsoft)。最初的Altair版本由Gates、Allen和Monte Davidoff共同編寫。Microsoft BASIC(隨後大多被人稱作M BASIC或者MBASIC)的一些版本馬上被捆綁到最初的基於軟盤的CP/M計算機中,這種計算機在小的商業環境中被廣為使用。隨著在CP/M中的BASIC語言知名度的擴張,新的計算機設計中同樣也引入了他們自己的BASIC語言的版本,或者乾脆叫Micro-Soft把BASIC版本移植到他們的平臺中。  當三種新的個人計算機在1977年問世的時候,也就是Byte Magazine後來稱作"1977 Trinity"的那段時間,所有的這三種的計算機都用BASIC語言作為他們的程式語言和操作環境。Commodore Business Machines公司一次性的付費買下一個移植到他們PET計算機的6502晶片中Micro-Soft BASIC的一個無限授權版本,於此同時Apple II和TRS-80都引入了一個新的,與這種語言極大相似的語言。這種相似性是非常明顯的因為它們最開始的50個記號(token)都是一樣的。隨著新的計算機進入到這個領域中來,其他的BASIC語言版本的加入,微妙的改變了BASIC語言的家族。Atari的8位機系列有他們自己的,專為燒入8kB的ROM晶片而修改過的Atari BASIC。BBC釋出了BBC BASIC,由Acorn Computers為他們編寫,加入了許多額外的結構體的關鍵字。大多數的二十世紀八十年代的家用計算機都有一個駐留在ROM中的BASIC直譯器,以此能讓計算機直接引導到BASIC環境。正因為這些原因,BASIC語言有著比其他任何語言都要多的方言(dialects)版本。  因為在這一個時期的BASIC的知名度的上升,一些雜誌(就比如美國的Creative Computing Magazine)刊登了用BASIC語言寫的遊戲、工具和一些其他程式的完整的程式碼。BASIC具有的一個天生的優勢,就是將雜誌上公佈的程式碼輸入計算機然後執行是一件非常簡單的事情。不同的雜誌針對不同的計算機刊登BASIC程式,但是有些BASIC程式是可以在不同的計算機的不同的BASIC執行環境中執行(有些時候只需要一些小小的修改)。在那個時候,檢查糾正經常會在雜誌的程式碼中出現的印刷錯誤也是雜誌本身的一個作業。  BASIC程式也同樣在成熟的書本中被髮布:最初的例子是David Ahl的BASIC Computer Games系列。後來的書,就比如Learn to Program BASIC也同樣將遊戲的程式作為書本導引部分的重點。

  早在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年初)。  這些語言引入了許多對原始的家用電腦中BASIC的擴充套件,比如提供了更加好的字串操作功能以及對圖形的支援,另外還有對檔案系統的訪問以及一些額外的資料型別。其中更加重要的則是新增了結構化程式設計的功能,包括一些原始版本中不存在的流程控制語句和支援本地變數的子程式。新的圖形功能同樣為個人電腦中的電子遊戲打下的基礎,類似DONKEY.BAS的一些BASIC程式展示了個人電腦所具有的功能。  但是在二十世紀八十年代的後半段,新的電腦則是比起以往的電腦擁有更加強大的資源控制能力。於此同時,計算機漸漸的從一個業餘愛好者感興趣的東西過渡到一個人們日常使用的工具(主要用的是別人寫的程式碼),所以編寫程式對使用者的重要性漸漸地減弱。當然BASIC的重要性也漸漸地減弱起來,儘管依然還有許多的BASIC語言版本。編譯型BASIC語言和CBASIC仍然使用在許多的IBM 4960系統上。  隨著微軟公司Visual Basic的釋出BASIC的語言的好運似乎又一次迴歸了過來。很難確切的說Visual Basic到底是不是BASIC語言,因為它較之前的版本有很大的改變——以基於物件以及事件驅動為的設計目標的語言。它唯一顯著的與BASIC語言相關的地方就是相似的語法,但是語法本身也不能完全定義這種語言,因為大多數Visual Basic的開發都是使用「拖動-放置」的方法,開發者不需要為一些常用的物件比如按鈕和滾動條去寫所有的程式碼。這個可以看成是BASIC語言的一種進化,一些早期的Dartmouth BASIC的特有的功能被保留了下來,比如行號和INPUT關鍵字等(Visual Basic仍舊是使用INPUT語句來從檔案讀取資料;行號也同樣允許用在所有的VB版本中,甚至是VB.NET,僅管它不能用在一些特定的地方,比如在SUB語句前面)。  有趣的是,BASIC語言最開始的時候是作為一種初學者的語言,微軟最初依舊是將Visual Basic定位於向愛好者提供的一種語言,但是在VB 3.0(也是被認為第一個相對穩定的版本)釋出之後不久就在小型商業程式的使用中迅速的傳播開來。儘管有很多高階的程式設計師始終在嘲笑它,但是VB正是有效的符合了小型商用程式的要求,即重點是簡單的開發,而執行的速度則是次要的因素。在那個時候, Windows 3.1已經是足夠的快了,很多商業有關的程式只要不是牽涉到大量的資料,幾乎是可以在一眨眼之間完成的,即使使用的是一種非常慢的語言。許多公司的老闆發現他們通過很少的一些步驟就可以建立出一個小型的但是有用的程式來滿足他們特定的需求。最終,在VB3的冗長的生命週期中,對於Visual Basic知識的掌握成為了一種非常有用的職業技能.這種語言,就像它的前輩QBASIC一樣,同時也成為了業餘遊戲開發者喜愛的語言之一。

  以下是同樣的執行結果,但用不同時期的BASIC的方式所寫的範例。

  這是第一代的BASIC,例如早期BASICA、GW-BASIC......等,BASIC直譯器。這類的BASIC程式的特徵,就是每一行的程式碼前面都有一個數字作為「行號」。由於這種型別的BASIC程式的寫法,很容易濫用GOTO的跳躍指令,以及程式碼沒有辦法使用到縮排去區分割槽段,因此很容易導致麵條式程式碼。

  這是第二代的BASIC,例如QuickBASIC、PowerBASIC。這時期,同時有功能相近的直譯器與編譯器的版本出現。這類的BASIC程式的特徵,是不使用行號,改使用標籤作為跳躍點(仍有GOTO指令,但已可使用其他寫法可完全避開使用GOTO),與使用函式或副程式的方式,以及可使用縮排,將程式結構化。

  這是第三代的BASIC,例如Visual Basic、REALbasic、StarOffice Basic。這類的BASIC程式的特徵,是匯入類別(Class)的應用,使用物件導向的繼承與程式碼封裝的寫法。通常也使用「事件驅動」的寫法,雖然下面這個Visual Basic.NET的範例並不是用到「事件驅動」。

  

  Goto是一種程式執行無條件跳躍的指令,在有行號的BASIC裡後面是接要跳躍目的的行號。在無行號的BASIC裡後面則是接要跳躍目的的標記名稱。

  用於終止一個BASIC程式的執行。  它的效果有些類似C語言裡的exit函式。所不同的是END不帶有任何的引數,僅僅是一條指令。需要注意的是,在Visual Basic中end(雖然不區分大小寫但多習慣用小寫)指令用於強制退出整個程式,
BASIC(來自英語:Beginner's All-purpose Symbolic Instruction Code的縮寫)又譯培基,是一種直譯式程式設計語言。名稱的字面意思為“初學者的全方位符式指令程式碼”,設計給初學者使用的程式語言,在完成編寫後不須經由編譯及連結等手續,經過直譯器即可執行,但如果需要單獨執行時仍然需要將其建立成執行檔。