BASIC60歳おめでとう
今でこそBASIC言語を使える人もすっかり少なくなってしまいましたが、パソコンが登場した頃は「BASICが出来る」=「パソコンが出来る」という時代で、パソコンを使いたい人は必ずBASICを覚えるものでした。
BASICは基本的にインタプリタであり、言語仕様もコンパクトで処理系もシンプルで少ないメモリでも動作するのが最大の魅力でした。そんなBASICではありますが、パソコン以前の自分でボードを組み立てていた時代には、BASICを動かすことがゴールみたいなところがあり、実数の処理を省き更にコンパクトな実装であるTinyBASICを何とか自分のボードで動かせるようにしていました。つまりBASIC「で」書く以前にBASIC「を」(マシン語で)書いていました。
当時のマイコンではTinyBASICのコードは2~4K程度で、標準のBASICであれば8~16Kくらいでした。BASICさえ動いてしまえば、自分でコードを書くのも機械語に比べれば格段に楽になりますし、書籍に印刷されているコードを打ち込んで間に合わすことも出来ます。当時の目標としてはアスキーから出ていた「BASIC Computer Games」に載っているゲームで遊ぶのが目標でした。
BASIC Computer Games
さて、そんなBASICも先日で60歳の誕生日をを迎えたようです。
The BASIC programming language turns 60
The BASIC programming language turns 60 — Dartmouth BASIC started it all in 1964
その最初のBASICであるダートマスBASICは、その後の8ビットパソコンで使われたようなインタプリタとは一味違って、オンメモリでコンパイルして動作するものだったようです。端末から対話型で1行ずつ実行できるのが特徴で、行番号を付けずに命令を書けば、その場で結果が得られる手軽さが売りでした。行番号を書いて命令を入力すればメモリに格納され、RUN命令で行番号の小さい順に実行されるものでした。プログラミング言語と言っても、どちらかというとシェル的なプログラム可能なバッチ処理言語という方が近かったのかもしれません。
ダートマスBASIC
マニュアル
http://www.bitsavers.org/pdf/dartmouth/BASIC_Oct64.pdf
この手軽さと処理系のコンパクトさから、パソコン黎明期にはインタプリタがROMとして搭載されて売られるようになり、マイクロソフトの巧妙な販売戦略とも相まって、電源をいれればBASICが動くというのが基本となりました。パソコンの機能が増えるに従いBASICの機能も強化され、そのパソコンが持つハードウエアの隅々までBASICから扱えるようになっていました。このため機種ごとのBASICの方言が大きくなりましたが、BASICでの移植はアセンブラで書かれたものを移植するのに比べれば、まだマシでした。
その後DOSの普及に伴い、DOS上で動くBASICも使われるようになりましたが、DOSは汎用的なハードウェアを想定しており、その機種固有の機能を使うにはROMに搭載されたBASICが一日の長がありました。日本ではグラフィック画面が容易に使えるかの影響が大きかったですね。
さて、そんなBASICも進化を続け、QuickBASICからVisualBASICとGUI時代になっても愛用され続け、マイクロソフトのオフィスアプリの標準言語VBAとしての地位は今も譲っていません。最新のVB.NETは古のBASICのスタイルがどこにも残っていないのではないかというくらいC#っぽくなってしまいましたが、まだまだ小規模なシステムでは使われる余地がありそうです。
BASICally still alive: Classic language celebrates 60 years with new code and old quirks
そういえばMSXもBASICが基本ですし、MSX0ではIoT命令が拡張され今後の展開も楽しみです。ああ私もあと少しで60だなぁ。
ヘッダ画像は、以下のものを使わせていただきました。
https://illustimage.com/?id=23524
※Xでポスト済み
この記事が気に入ったらサポートをしてみませんか?