JSX を作りたいという思い

JSX (JavaScript Extension) は僕が考えている JavaScript ベースのプログラミング環境のことである。

僕らの身の回りにはパソコンやゲーム機、携帯電話などのコンピュータを搭載した機器がたくさんある。みんなこれらがプログラムにしたがって動いていることを知っている。しかし、プログラムを自分で書くことはほとんどないだろう。それは、自分で家を建てたり車を組み立てたりしないのと同じように、プロが作ったものを買ったほうが手間やお金がはぶけるからだ。だから、たとえばゲームで遊びたい人はゲーム機とゲームソフト(これもプログラムからできている)を買って遊ぶわけだ。

この30年の間にコンピュータの使われ方はとてつもなく発展したため、プログラムを書くにはいろいろな知識と技術そして時間が必要になってしまった。たとえば、PS3 や Xbox360 でみられるような本格的な三次元(3D)のプログラムは、コンピュータの知識や技術だけではだめで数学や物理の知識がないと作れない。

ところで、趣味の分野には日曜大工というものがある。これは、自分で材料を買ってきて家の吊り棚や本棚、犬小屋などの組み立てが簡単なものをつくる趣味のことだ。これは買わずに作ることで安くすむという利点だけでなく、作ることを楽しんでもいる。たまに父親が休日に工作をしたりするのは、こういうことである。

ものを作ることは楽しい。プログラムをつくることも同じだ。そこで、手軽にプログラムづくりを楽しめる環境をつくりたいと考えた。具体的には、ユーザーは JavaScript でコンテンツを書いて実行環境の上で動作させる。これは Web ブラウザを使わない専用の実行環境で JavaScript のオブジェクトとして、グラフィックやネットワーク(HTTP)の機能をつかえるようにする。また、プログラムをネットワークを通じて公開して自由にダウンロードできるようにする。

一方で、少し詳しくなってくると JavaScript でできることだけでは物足りない、低レイヤーの部分を直接いじりたいという要望も出てくるだろう。そういう要望にこたえるために、ユーザがC言語で書いたライブラリを追加して利用できる仕組みも用意したいと考えている。

将来的には、PSPiPhone (ライセンス上難しそうだけど) といった異なる環境でも動作することを目指す。でも、いまはあまり互換性を重視しないでできるところから作っていく。