跳轉到內容

BASIC 簡介

0% developed
來自華夏公益教科書,開放的書籍,面向開放的世界

BASIC最初是作為一種組合的計算機語言和命令直譯器實現的,由 J. Kemeny 和 T. Kurtz 於 1964 年在達特茅斯學院發明。它是讓大量社群(在本例中是達特茅斯學院)能夠使用分時計算機訪問的專案的重要組成部分。它最初是在 GE 225 計算機上實現的。BASIC 將程式設計和計算機控制結合到一個介面中。

該語言是一組簡單的變數賦值、控制流和資料處理。它的設計目的是比Fortran更容易被大多數使用者使用,但令人驚訝的是,達特茅斯版本包含了矩陣運算,而這些運算在大多數其他實現中並不存在。計算機控制允許使用者執行簡單的命令,如檔案儲存和載入以及程式啟動和停止。

由於 BASIC 可以解釋,並且可以以較小的直譯器實現或多或少有用的變體,因此它成為最早的微型計算機的高階語言的理想選擇。BASIC 直譯器通常被燒錄到 ROM 中,而 ROM 的大小有限(在可承受的價格範圍內)到 2KB 或 4KB。Apple 在 Apple II 上的 ROM 中提供了其 IntegerBASIC;微軟最初是專門為各種計算機供應商提供 ROMed BASIC 的專家,包括 Atari、Altair(最初的微軟產品!)、Commodore(PET / VIC-20 / 64)、Radio Shack TRS-80 Model 1、2 等以及彩色計算機),甚至更晚的時候,IBM 也在最早的 PC 機型(即 BASICA)中提供了它。

由於許多這些早期機器上可用的 RAM 量非常有限,因此大多數 ROMed BASIC 的語法非常有限和簡短,以便允許比玩具程式更復雜的程式適合安裝的 RAM。不可避免地,這產生了不透明和晦澀的程式設計風格。例如,在大多數 Microsoft BASIC 中,註釋行可以以單個“'”字元開頭,而不是原來的“REM”,大多數命令可以縮寫為第一個字母(“L”代表“LET”),變數名也可以類似地縮寫,等等。

基於磁碟的 BASIC 版本最終也出現了(在軟盤價格大幅下降之後),微軟成為主要的供應商(例如,Apple II 的 Applesoft BASIC,CP/M-80 機器的 MBASIC,以及 COompaq 的 Graphic Workstation BASIC(GWBASIC),以及最終任何非 IBM PC 克隆機器。GWBASIC 旨在與 IBM PC 的 BASICA 相容,因為沒有一個 PC 克隆製造商被允許訪問 ROM 版本;它最終也被實現為一個編譯器,目前以多種形式提供,如 Visual BASIC。各種各樣的替代方案在不同的時間出現,包括 Gordon Eubanks 的 CBASIC(最終被 Symantec 收購)、CP/M-80 機器的 NorthStar BASIC、Sinclair ZX80 的 QBASIC 及其基於 68000 的後續版本、基於 Motorola 6809 處理器的 FLEX、FLEX9 和 UNIflex 機器的大型、小型、解釋型和編譯/標記型 TSC BASIC,以及來自愛荷華州 Microware Systems 的 BASIC09,也適用於 6809 CPU。還有一些其他 BASIC,或者以其他名稱命名的變體,在 1970 年到 1990 年之間為小型機市場(使用 12、16 甚至 32 位 CPU,價格在 10000 美元到 200000 美元之間)開發和銷售。其中一些被用作資料庫系統或業務管理軟體的“介面”語言。其中一些至今仍在使用。各種 BASIC 也可用於來自 IBM、Burroughs、Univac 等等的大型主機系統。

BASIC 的“方言”和實現“風格”各有不同。一些 BASIC 將所有字串變數儲存為一個大型陣列的一部分,另一些則沒有;一些 BASIC 包含自動垃圾收集(例如,許多 Microsoft 變體),另一些則沒有;等等。HP BASIC 是一個著名的“流派”,DEC BASIC 則是另一個。微軟的“風格”,基本上屬於 DEC 派別,到 1980 年代中期已成為幾乎所有使用者的實際標準風格。具有諷刺意味的是,Kemeny 和 Kurtz 決定提供他們語言的更新版本(TrueBASIC),但為時已晚 - 市場對它的需求很少。ANSI 最終開始了一個 BASIC 標準化專案,但決定不採用微軟的實際標準。有一個 Minimal BASIC 標準,但它基本上被市場忽視了。

該語言最初是作為編譯器實現的,但在 1980 年代,它的大多數實現都是直譯器(當在另一個應用程式中使用時,Basic 通常用於指令碼編寫)。編譯實現如今很常見(例如,Visual Basic)。

BASIC 的方言可以根據許多方面劃分為許多不同的組,例如

  • 它們的平臺(Windows、Linux 等)
  • 它們的用途(遊戲、GUI 應用程式等)
  • 它們是編譯還是解釋

一些方言

QuickBASIC:所有現代 BASIC 的起源。一些程式設計師已經為這種語言催生了一種狂熱,因為網際網路上提供了許多遊戲和教程供使用。

FreeBASIC:QuickBASIC,編譯。它具有更多現代功能,例如指標、64 位元組型別以及對更大記憶體的支援。FreeBASIC 是推薦的,因為它是以下教程的標準方言。有關一些 FreeBASIC 教程,請參見BASIC 程式設計

DarkBASIC:一個重要的商業 BASIC,它利用了 DirectX 庫,非常適合快速編寫遊戲。

VisualBASIC:微軟在 1990 年代初開發了這種 BASIC。說這是一種方言略有不準確,因為它與標準 BASIC 相比,程式碼差別很大,並且在商業用途上非常流行。Gambas 是一種類似的語言,被 Unix BASIC 程式設計師廣泛使用。

BlitzMax,一種支援 OpenGL 的編譯 BASIC 方言,用於在 Mac OS、Linux 和 Microsoft Windows 上編寫圖形遊戲。

GLBasic 程式設計,一種支援 OpenGL 和內聯 C++ 的編譯 BASIC 方言,用於在 Widows、Linux、Mac OS X、iOS 和 Android 上編寫圖形遊戲。

Monkey,一種來自 Blitz Research 的編譯 BASIC 方言,用於 Windows、Mac OS X、Android、iOS 和 HTML5。

Business Basic

Futurebasic

PBASIC 程式設計,由 Parallax BasicStamp 解釋的 BASIC 方言。

TI-BASIC,由 TI 圖形計算器解釋的 BASIC 方言,顯然在TI-Basic 84 程式設計Talk:TI-Basic Z80 程式設計TI-Basic 89 程式設計之間存在進一步的細微差異(?)。

REALbasic,顯然也稱為 Xojo。

Chipmunk Basic 袖珍手冊

Visual Basic .NET

Visual Basic for Applications

XBasic,一種用於 Windows 和 Linux 的開源 GUI Basic,以及相關 (?) XBLite

Gambas,一種面向物件的開源 BASIC 程式語言方言,適用於 Linux。有關溫和的入門介紹,請參見從 Zip 程式設計 Gambas


[編輯 | 編輯原始碼]

用 Basic 程式設計文字冒險遊戲

華夏公益教科書