| 登場時期 | 1975 |
|---|---|
| 設計者 | Dennis Allison |
| 方言 | Denver Tiny BASIC, Enhanced 6800 Tiny BASIC, MINOL, National Industrial Basic Language, Palo Alto Tiny BASIC, 6800 Tiny BASIC, TBI68K, Tiny BASIC Extended |
| 影響を受けた言語 | ダートマスBASIC, 8008 BASIC |
| 影響を与えた言語 | Astro BASIC, Atari BASIC, Level I BASIC |
| プログラミング言語 | インタプリタ |
Tiny BASIC(タイニーベーシック)とは、BASICのサブセット(簡易版)の一種であり、1975年に、主メモリがわずか 4 キロバイト程度でも動くように開発されたものの、言語仕様や、その実装(処理系)。および同様の発想で開発されたBASICの総称。
ごく小規模(tiny)なシステムでも使用できるという意味でTinyで、可能なことも限られて(tiny)いたが、機械語を使うよりははるかに手軽であり便利なものであった。
Palo Alto Tiny BASICの他、いくつかの有名な実装がある。著名になったものは、ソースコードやそのバイナリコードのダンプリストを書籍や雑誌に掲載する形で公開したものが多い。1970年代後半、初期のマイクロコンピュータの主メモリ容量が数キロバイト程度しかない中で、処理系自体のサイズもフットプリントも小さく、4キロバイト程度の主メモリで動かすことができたので、当時のマイクロコンピュータのユーザの間で流行した。
細かい差異はあるが、概ね以下のような仕様であった。
Palo Alto Tiny BASICのように、同じ作者がスタートレック (マイコンゲーム) のごく基本的な部分だけを遊べるようにした「Tiny Trek」を作成していることなどから、そのための工夫と思われるものが見られることもある。
当時の日本のTiny BASICとしては、東大版・東京版と呼ばれる移植版やオリジナルの電大版が書籍等でソースやダンプリストが公開されており有名である。
Palo Alto Tiny BASIC(東大版)の仕様は以下のとおり。
=, #, >, >=, <, <=Tiny BASIC登場以前のBASICの歴史は、ダートマスBASICの記事などを参照のこと。
1970年代にマイクロプロセッサが登場しマイクロコンピュータが開発されるようになった。アメリカの最初の商用マイクロコンピュータ Altair 8800でも自然な流れとして、初めのうちはプログラミングは機械語やアセンブリ言語が使われていたが、すぐに高級言語が欲されるようになり、当時既にミニコンピュータなどで活用されていた言語のいくつかに目が付けられ、ポール・アレンらがBASICをAltair向けに書き1975年1月に発表した。そのミニマム版でも処理系だけで主メモリ上で3.2キロバイトのサイズになるので、主メモリは最低でも4キロバイト必要で、4キロバイトではユーザのプログラムのサイズの上限が0.8キロバイトになりプログラム作成にはには不十分で、十分な主メモリを確保するには8キロバイトや16キロバイトまでメモリ増設する必要があった。当時のマイクロコンピュータはAltair以外の機種でも主メモリがわずか1キロバイトから数キロバイト程度しか無い機種が多く、メモリの単価も高く、企業が所有しているミニコンとは違い、マイクロコンピュータの個人ユーザは機能を絞った小さな実装のBASICを求めていた。そんな中で、数多く発足した有志団体のひとつ、People's Computer Company(People's Computer Company)の機関紙の Vol. 3, No. 4(1975年3月)の 6, 7 ページに掲載された BUILD YOUR OWN BASIC という記事において、(整数演算のみ、変数は26個のみ、7つのステートメントINPUT, PRINT, LET, GO TO, IF, GOSUB, RETURN のみのような)最低限に機能・仕様を絞ったBASICを自作することが提案され、それに刺激を受けた人々により、色々な実装が作られた(それでも出来の良いBASICシステムを作るには一人で六カ月かかるだろうと記述されている)。前述の機関紙の発展版にあたるDr. Dobb's Journalに掲載されたものなどは有名になった。
後にROM-BASICを内蔵するパーソナルコンピュータが発売されるようになってからは、アプリケーションを使うことが目的のユーザはそちらを使うようになったが、その後もTiny BASICを名乗る似たような機能のBASICは存在する。