トップQs
タイムライン
チャット
視点

Tiny BASIC

ウィキペディアから

Remove ads

Tiny BASIC(タイニーベーシック)とは、マイクロコンピュータないし初期の8ビットパソコンホビーパソコン用に仕様を簡略化(サブセット化)したBASICの、言語仕様や、その実装(処理系)の総称。プログラムサイズがコンパクトなため、ごく小規模(tiny)なシステムでも使用できた。可能なこともやはり限られて(tiny)いたが、機械語を使うよりははるかに手軽であり便利なものであった。

概要 登場時期, 設計者 ...
Remove ads

概要

Palo Alto Tiny BASIC他、いくつかの有名な実装がある。著名になったものは、ソースコードやそのバイナリコードのダンプリストを書籍や雑誌に掲載する形で公開したものが多い。1970年代後半、初期のマイコンのメモリ容量が数Kバイト程度しかない中で、フットプリントが2Kバイト前後のサイズで処理系が実装でき、また、他にそれらしいプログラミング言語・言語処理系が無かったことから、マイコンユーザの間で流行した。後にROM-BASICを内蔵するパーソナルコンピュータが発売されるようになってからは、アプリケーションを使うことが目的のユーザはそちらを使うようになったが、その後もTiny BASICを名乗る似たような機能のBASICは存在する。

細かい差異はあるが、概ね以下のような仕様であった。

  • 単純変数はA~Zの26個のみ。
  • 配列は@のみ。
  • データ型は2バイト整数のみ。
  • グラフィックやスクリーンエディットの機能はない。

Palo Alto Tiny BASICのように、同じ作者がスタートレック (マイコンゲーム) のごく基本的な部分だけを遊べるようにした「Tiny Trek」を作成していることなどから、そのための工夫と思われるものが見られることもある。

当時の日本のTiny BASICとしては、東大版・東京版と呼ばれる移植版やオリジナルの電大版が書籍等でソースやダンプリストが公開されており有名である。

Palo Alto Tiny BASIC(東大版)の仕様は以下のとおり[1]

  • 変数は A~Z の26個、@ は配列変数
  • コマンドは NEW, LIST, RUN, SIZE で、LOAD, SAVEはない。
  • ステートメントは LET, PRINT, INPUT, GOTO, GOSUB, RETURN, IF, FOR, NEXT, END
  • 演算子は =, #, >, >=, <, <=
  • 関数は RND, ABS
Remove ads

歴史

Tiny BASIC登場以前のBASICの歴史は、ダートマスBASICの記事などを参照のこと。

集積回路の発展と市場の需要などから、1970年代にマイクロプロセッサが次々と登場したことにより、一般の個人が、個人でコンピュータを所有・占有し、趣味や実用に使うことが可能となった。それまでのメインフレームミニコンピュータが限られた人のものであったのに対し、これからはコンピュータの力を誰もが活用できるということで、革命という言葉すら使われた(パーソナルコンピュータ史)。

自然な流れとして[2]、初めのうちはマイクロコンピュータの活用には機械語が使われていたが、すぐにプログラミング言語が欲されるようになった。そこで、当時既にミニコンピュータなどで活用されていた言語のいくつかに目が付けられ、当時のマイクロコンピュータで可能な程度に機能などを絞って実装することなどが行われた。そんな中で、数多く発足した有志団体のひとつ、People's Computer Company(People's Computer Company英語版)の機関紙の Vol. 3, No. 4(1975年3月)[3]の 6, 7 ページに掲載された BUILD YOUR OWN BASIC という記事において、(整数演算のみ、変数は26個のみ、7つのステートメントINPUT, PRINT, LET, GO TO, IF, GOSUB, RETURN のみのような)最低限に機能・仕様を絞ったBASICを自作することが提案され、それに刺激を受けた人々により、色々な実装が作られた(それでも出来の良いBASICシステムを作るには一人で六カ月かかるだろうと記述されている)。前述の機関紙の発展版にあたるDr. Dobb's Journalに掲載されたものなどは有名になった。

Remove ads

参考文献

Loading content...

関連項目

Loading content...

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads