True BASIC
True BASIC
True BASIC是BASIC的一種,由原來的BASIC作者約翰·凱梅尼及托馬斯·卡茨兩位教授所創立。
約翰·凱梅尼及托馬斯·卡茨有感自從BASIC這種編程語言在微電腦上風行以來,其設計都與原來BASIC的設計逐漸偏離,所以他們希望可以透過這一套True BASIC語言來重新強調BASIC語言所應有的設計特色,使到原來為迷你電腦及小型電腦設計的BASIC程序可以更好地移殖到微機上使用。巧合地,當時所風行的各個BASIC版本,不論是蘋果電腦的Applesoft BASIC或MS-DOS的GWBASIC或Quick BASIC,都是由微軟所開發的。就連第一套編譯式的BASIC版本、Borland的Turbo BASIC,也是基於微軟的GW-BASIC語言。
True BASIC的語法是基於Dartmouth BASIC的版本7,於1985年開始推出市面。 True BASIC在繪圖方面的功能大大加強:它除了允許用戶重新定義在640×480解象度之下的16種顏色的調色盤以外,亦增加了對繪畫曲線圖的支援。它更在語言中加入BitBLT的功能,並容許用戶擷取畫面的部分並儲存。這些繪圖功能都是1980年代的迷你電腦BASIC的標準功能,但在微機版本上都欠奉的。
True BASIC在語法上儘可能忠於ANSI BASIC。為使用戶設計出更好結構的程序,True BASIC取消了對GOTO命令及行號的支援。而這兩項功能,微軟一直到現在的Visual BASIC還在保留。不過,True BASIC亦允許用戶在指示數值時省略LET命令。而對於變數的命名,亦由ANSI BASIC所要求的一個字母加一個數字,改為容許較長的描述性變數名稱。
以下是一個用True BASIC所寫的程序,用來計算y = mx + b這條方程式:
slope = 2
LET x = 3
y_intercept = 4
LET y2 = slope * x + y_intercept
PRINT "y2="; y2
這段程式碼執行後會顯示:
y2= 10
True BASIC所提供的另外一個在較大型電腦很常見,但在微機電腦很少見的功能就是矩陣及遞迴計算功能的支援。由於記憶所限,很多美國設計的微機BASIC都沒有提供矩陣計算(但英國的BBC、Acorn、Amiga的BASIC卻有提供)。而True BASIC對global及local變數的支援,使recurssive的程序得以實現。這其實是因為當True BASIC推出之時,當時的微機的功能已經很強,足以比美較大型的電腦的緣故。
今天的True Basic包含著編譯器在裡面,可以將程式編譯成可執行檔。另外也支援Mac平台(classic OS),不過尚不支援MacOS X。