Tiny
BASIC(タイニーベーシック)とは、1970年代に登場した初期のマイクロ
コンピュータや
ホビーパソコンのために開発された、
BASIC言語の機能を大幅に絞り込んだ(サブセット化した)言語仕様およびその処理系全般を指す言葉です。
当時のマイクロ
コンピュータは、現在の基準からすると非常に限られた性能とメモリ容量しか持っていませんでした。そのような環境でも動作するように、Tiny
BASICは極めて小さなプログラムサイズで実現されていました。その名の通り「tiny」(ちっぽけ、ごく小さい)なシステムで利用可能であった反面、利用できる機能もまた「tiny」に限定されていましたが、それでも当時の主流であった
機械語に比べれば、プログラミングの敷居を大きく下げ、より多くの人々にとって扱いやすい存在となりました。
特徴と仕様
細かい差異は実装によって異なりますが、Tiny
BASICの一般的な仕様は以下のようなものでした。
変数: アルファベット1文字(A~Z)の単純変数が26個だけ使用可能でした。
配列: 配列変数としては、「@」のみが使用できることが多かったようです。
データ型: 扱える数値は、通常2バイトの整数に限られていました。
機能: グラフィック描画機能や、プログラム入力・編集を助けるスクリーンエディット機能などは基本的に搭載されていませんでした。
Palo Alto Tiny
BASICなど、一部の実装では、当時のマイコンゲームである「スタートレック」の簡易版「Tiny Trek」の作成を意識したと思われる工夫が見られることもありました。
コマンドやステートメントも必要最低限に絞り込まれています。例えば、Palo Alto Tiny
BASIC(東大版)では、プログラムの新規作成(NEW)、一覧表示(LIST)、実行(RUN)、メモリサイズの確認(SIZE)といった基本的なコマンドのみで、プログラムの保存(SAVE)や読み込み(LOAD)機能はありませんでした。ステートメントとしては、変数への代入(LET)、画面表示(PRINT)、入力待ち(INPUT)、条件分岐(IF)、ジャンプ(GOTO)、サブルーチン呼び出し(GOSUB)、サブルーチンからの復帰(RETURN)、繰り返し(FOR, NEXT)、終了(END)などが使用できました。
歴史と普及
1970年代に入り、
集積回路技術の進歩と市場の需要の高まりから、
マイクロプロセッサが次々と誕生しました。これにより、これまで大型の
コンピュータに限られていたコンピューティングパワーが、個人でも所有・占有できるマイクロ
コンピュータという形で手に入るようになり、まさに「パーソナル
コンピュータ」時代の幕開けとなりました。
当初、マイクロ
コンピュータの操作やプログラミングは
機械語で行われるのが一般的でした。しかし、より生産性の高い
プログラミング言語を求める声がすぐに高まります。そこで、当時ミニ
コンピュータなどで利用されていた
BASICのような言語を、限られたリソースでも動作するように機能を削って実装することが試みられました。
こうした流れの中で、有志の団体People's Computer Companyが発行した機関紙「Vol. 3, No. 4」(1975年3月)に掲載された「BUILD YOUR OWN
BASIC」という記事が大きな刺激となりました。この記事では、整数演算のみ、変数26個、基本的なステートメント7つといった最低限の機能を持つ
BASICインタプリタを自作することが提案され、これに触発された人々によって様々なTiny
BASICの実装が生み出されました。特に、その発展版である「Dr. Dobb's Journal」に掲載された実装は広く知られることとなりました。
当時の標準的なマイクロ
コンピュータが持つわずか数キロバイトのメモリに対し、Tiny
BASIC処理系はわずか2キロバイト程度のサイズに収まることが多く、他に選択肢となるような適切な
プログラミング言語や処理系が存在しなかったため、マイコンユーザーの間で急速に普及しました。多くの有名なTiny
BASIC実装は、そのソースコードやバイナリのダンプリストが書籍や雑誌に掲載される形で公開され、ユーザーはそれを直接入力して利用しました。
後年、ROMに
BASICインタプリタを内蔵した高性能なパーソナル
コンピュータが登場し普及すると、アプリケーション利用が目的のユーザーはそちらへ移行しましたが、Tiny
BASICのような機能限定型の
BASICはその後も脈々と存在し続けました。
日本国内でも、Palo Alto Tiny
BASICをIntel i8080向けに移植した「東大版」、Texas Tiny
BASICをIntel i8085向けに移植した「東京版」、Motorola
MC6800向けに開発されたオリジナルの「電大版」などが、書籍でのソースコード公開などを通じて広く知られていました。
Tiny
BASICは、その機能は限定的でしたが、多くの人々にとって初めてプログラミングに触れる機会を与え、その後のパーソナル
コンピュータ文化の発展に大きな役割を果たしたと言えるでしょう。