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語言。[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所寫的程序,用來計算 y = m x + b {\displaystyle 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。

參考書目

  1. ^ 《家庭微電腦》創刊號,True BASIC專欄。
  2. ^ 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.

參看

外部連結

范型
过程式
面向对象
多范型
函数式
逻辑式
脚本语言
动态语言
Shell语言
ECMA-262
特定平台
.NET
JVM
特定领域
科学计算
GPU计算
  • Cg/HLSL
  • GLSL
  • Brook英语BrookGPU
  • OpenCL
  • CUDA/PTX英语Parallel Thread Execution
  • Futhark
  • SPIR-V英语Standard Portable Intermediate Representation
数据查询
可视化
传媒设计
 
其它
  • 分类 目录
  • 列表级条目 列表
  • 历史
  • 比较英语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
  • Basic For Qt英语Basic For Qt
  • Gambas
  • Hummingbird Basic
  • LotusScript英语LotusScript
  • WinWrapBasic英语WinWrap Basic
  • Xojo