かつての BASIC のような JavaScript プログラミング環境がほしい

こんな JavaScript プログラミング環境を考えている。

JavaScript エンジン (例えば SpiderMonkey) からOSネイティブのいろいろな API (システムコール、libc, glib, GTK+, Clutter, etc)を利用できる。たとえば、標準入出力、ファイル操作、グラフィック描画、キー/マウスなどのイベントハンドリング、HTTPリクエストなどを利用できる JavaScript オブジェクトを実装する。

図にするとこんな感じ。



こんなことを妄想した経緯もメモしておく。

僕は 1980 年代のパソコン、とくに MSX が好きだ。MSX はテレビをディスプレイに使えることや本体価格が安かったことから入門機として全世界で400万台ほど普及したパソコンだ。

僕が MSX に出会ったのは中学1年の春だった。理科室に MSX があり放課後に自由に使わせてもらえた。MSX は電源を入れるだけで BASIC の実行環境が起動する。BASIC はいまから20年くらい前に普及していたプログラミング言語/実行環境である。

当時は趣味でプログラミングを楽しむためにパソコンを買う人が結構いた。休日に犬小屋や吊り棚などの簡易な工作をすることを日曜大工というけど、同じように休日にBASICをつかって簡易なプログラミングをする人は日曜プログラマと呼ばれたりした。実際、マイコン BASIC マガジン(通称ベーマガ)や MSX-FAN などのパソコン雑誌には読者の投稿プログラムコーナーがあり中学生や高校生、社会人が競ってプログラムをつくって投稿していたのだ。

僕も雑誌の投稿プログラムを打ち込むうちに BASIC を覚えてプログラミングが好きになった。ほんの十数行のプログラムでテレビ画面に絵を描いたり音楽を演奏することができる。見た目にはたいしたことがなくても、自分のプログラムが考えた通りに動いたときは最高の気分だった。

そして時は流れて、現在。いまも趣味でプログラミングを楽しむ人はいるけど、20年前に比べるとずいぶん敷居が高くなったと思う。僕も Windows パソコンを買ってからは VisualBasic からはじめて Win32 API や Direct X を勉強したり Java アプレットをつくったりしたけど、なにか違う。もっと簡単にプログラミングを楽しめる環境がほしい。(最近、MacBook を買ったので Windows パソコンは使わなくなってしまったが。。)

それなら JavaScript はどうだろうか。JavaScript は一般的な Web ブラウザでサポートされているスクリプト言語のひとつで、個人サイトから Google や Yahoo! のような商業サイトまで広く使われている。これなら数行の簡易な利用から商業レベルの複雑な要求にも耐える柔軟な記述ができるはずだ。ところが Web ブラウザの上で動かすと、表現力がブラウザできることに制限される。簡単にプログラミングしたいけど、やりたいことができないのはうれしくない。であれば、C言語などで実装した API を呼び出せる JavaScript の実行環境をつくればいいんじゃないか?そう考えて、冒頭のことを思いついた。