True BASIC是BASIC的一種,由原來的BASIC作者约翰·凯梅尼及托马斯·卡茨兩位教授所創立。他們有感自從BASIC這種編程語言在微電腦上風行以來,其設計都與原來BASIC的設計逐漸偏離,所以他們希望可以透過這一套True BASIC語言來重新強調BASIC語言所應有的設計特色,使到原來為迷你電腦及小型電腦設計的BASIC程序可以更好地移殖到微機上使用。巧合的是,當時所風行的各個BASIC版本,不論是蘋果電腦的Applesoft BASIC或MS-DOS的GWBASIC或Quick BASIC,都是由微軟所開發的。就連第一套編譯式的BASIC版本、Borland的Turbo BASIC,也是基於微軟的GW-BASIC語言。[1]
簡介
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所寫的程序,用來計算 這條方程式:
slope = 2
let x = 3
y_intercept = 4
let y2 = slope * x + y_intercept
print "y2="; y2
這段程式碼執行後會顯示:
True BASIC所提供的另外一個在較大型電腦很常見,但在微機電腦很少見的功能就是矩陣及遞迴計算功能的支援。由於記憶所限,很多美國設計的微機BASIC都沒有提供矩陣計算(但英國的BBC、Acorn、Amiga的BASIC卻有提供)。而True BASIC對global及local變數的支援,使recurssive的程序得以實現。這其實是因為當True BASIC推出之時,當時的微機的功能已經很強,足以比美較大型的電腦的緣故。
今天的True Basic包含著編譯器在裡面,可以將程式編譯成可執行檔。另外也支援Mac平台(classic OS),不過尚不支援MacOS X。
參考書目
- ^ 《家庭微電腦》創刊號,True BASIC專欄。
- ^ Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language. Addison-Wesley. 141 pp. ISBN 0-201-13433-0.
參看
外部連結
- True BASIC, Inc. 網站*(页面存档备份,存于互联网档案馆)
|
---|
| 范型 | |
---|
| 脚本语言 | |
---|
| 特定平台 | |
---|
| 特定领域 | |
---|
| | |
---|
| - 目录
- 列表
- 历史
- 比较(英语:Comparison of programming languages)
- 时间线(英语:Timeline of programming languages)
|
|
BASIC程序设计语言的方言( 列表(英语:List of BASIC dialects)) |
---|
| 传统 | - Altair BASIC
- Applesoft BASIC
- Atari BASIC(英语:Atari BASIC)
- Atari Microsoft BASIC(英语:Atari Microsoft BASIC)
- Atari ST BASIC(英语:Atari ST BASIC)
- BASICA(英语:IBM BASIC)
- BASIC A+(英语:BASIC A+)
- BASIC Programming(英语:BASIC Programming)
- BASIC XE(英语:Optimized Systems Software#BASIC XE)
- BASIC XL(英语:Optimized Systems Software#BASIC XL)
- Casio BASIC(英语:Casio BASIC)
- Chipmunk Basic(英语:Chipmunk Basic)
- Color BASIC(英语:Color BASIC)
- Commodore BASIC(英语:Commodore BASIC)
- Extended Color BASIC(英语:Extended_Color_BASIC)
- Dartmouth BASIC(英语:Dartmouth BASIC)
- Disk Extended Color BASIC(英语:Disk Extended Color BASIC)
- Family BASIC(英语:Family BASIC)
- GFA BASIC(英语:GFA BASIC)
- GW-BASIC
- HP BASIC for OpenVMS(英语:HP BASIC for OpenVMS)
- HP Time-Shared BASIC(英语:HP Time-Shared BASIC)
- IBM BASIC(英语:IBM BASIC)
- Integer BASIC
- Locomotive BASIC(英语:Locomotive BASIC)
- Mallard BASIC(英语:Mallard BASIC)
- Microsoft BASIC
- MSX BASIC(英语:MSX BASIC)
- Pure Basic
- Rocky Mountain BASIC(英语:Rocky Mountain BASIC)
- S'-BASIC(英语:S-BASIC)
- ScriptBasic(英语:ScriptBasic)
- Sinclair BASIC(英语:Sinclair BASIC)
- Southampton BASIC System(英语:Southampton BASIC System)
- STOS BASIC(英语:STOS BASIC)
- TI BASIC (TI 99/4A)(英语:TI BASIC (TI 99/4A))
- TI-BASIC(计算器)
- TI Extended BASIC(英语:TI_Extended_BASIC)(又名XBasic)
- Tiny BASIC(英语:Tiny BASIC)
- Turbo-Basic XL(英语:Turbo-Basic XL)
- Tymshare SUPER BASIC(英语:Tymshare Super BASIC)
- UBASIC(英语:UBASIC)
- Vilnius BASIC(英语:Vilnius BASIC)
- XBasic(英语:XBasic)
- ETBASIC
|
---|
| 面向过程 | - AmigaBASIC(英语:AmigaBASIC)
- AMOS BASIC(英语:AMOS (programming language))
- ASIC(英语:ASIC programming language)
- BBC BASIC(英语:BBC BASIC)
- Beta BASIC(英语:Beta BASIC)
- DarkBASIC
- FreeBASIC
- FutureBASIC(英语:FutureBASIC)
- GFA BASIC(英语:GFA BASIC)
- GLBasic(英语:GLBasic)
- Liberty BASIC(英语:Liberty BASIC)
- Microsoft Small Basic
- PowerBASIC
- PureBasic
- QBasic
- QB64(英语:QB64)
- QuickBASIC
- SmallBASIC(英语:SmallBASIC)
- SuperBASIC(英语:SuperBASIC)
- ThinBasic(英语:ThinBasic)
- True BASIC
- PowerBASIC
- XBasic(英语:XBasic)
- Xblite(英语:XBLite)
- Basic4ppc(英语:Basic4ppc)
- Visual Test(英语:Visual Test)
- B4J(英语:B4J)
|
---|
| 带有对象扩展 | |
---|
| 用于移动设备 | - Basic4android(英语:Basic4android) (B4A)(英语:(B4A))
- Basic4ppc(英语:Basic4ppc)
- GLBasic(英语:GLBasic)
- NS Basic(英语:NS Basic)
- Basic4ios(英语:Basic4ios) (B4i)(英语:(B4i))
|
---|
| 微软 | |
---|
| 第三方类VB | |
---|
|