McGrathシェアこの2年間で、子供を対象とするオープンソースのプログラミング言語とユーティリティの数は爆発的に増えた。いった活動の根底にあるのは、BASICの時代と比べてプログラミング環境があまりに複雑になり、専門知識のない若年層には敷居が高過ぎるという考えだ。あるツールキットは若年層にアピールするゲームやアニメーションなどのプロジェクトを構想、作成するまったく新しい方法の考案を目指し、またあるツールキットはBASICの”ベーシック”性をモダンな言語と環境に再現しようと取り組んでいる。Kindergartenグループが開発したScratchは、Squeakに実装されたグラフィカルなプログラミング環境であり、その操作方法はLEGOの遊び方によく似ている。基本的に、カラフルなコードのブロックを組み立てることでプログラムを作成する。独自のインターフェースを利用し、グラフィックスとサウンドを組み入れて簡単なアニメーションを作成できる。ループやif文などのすべての基本プログラミング構造がサポートされ、種類の異なるブロックをモーション、センシング、サウンドなどのカテゴリにグループ化できる。X版があるが、まだ(正式な)ネイティブのLinux版はない。Wineを利用して実行することは可能だが、今回テストした限りではほとんどのオーディオ関連のScratchプログラムが動作しなかった。Linuxで動作可能なバージョンのScratchもあるが、MITの開発者はあまり熱心に取り組んでいない。このバージョンの問題の1つは、Scratchプログラムを全画面表示で使用するプレゼンテーションモードが機能しないことだ。Scratchプログラムを表示するモードはほかにもあるので致命的な欠点ではないが、便利な機能が欠けていることは明らかだ。Webサイトにアップロードできることだ。このサイトではアカウントを作成し、サポートを要求し、他のScratchユーザがアップロードしたプログラムを利用することができる。アップロードされたプログラムはどれもオープンソースであり、これらのScratchプログラムのソースをダウンロードし、変更することは自由である。ScratchプログラムをWebブラウザに表示することもできる。Playerと呼ばれるJavaアプレットを通じて実現される。licenseに従う。Scratchを試して気が付いた問題点は、たくさんのグラフィックスや特に音楽が含まれる場合にプログラムのソースコードが大きくなることだ。音楽を再生するだけの単純なあるプログラムは、なんと93MBの大きさになった。一般にScratchで60MBを超えるプログラムを読み込むと応答が極端に悪くなり、たいていはエラーになる。ファイルのサイズが大きくなるのは、ソースコードが古いことに関係があると思われる。同じファイルの保存と再取得の処理が繰り返されることで、サイズが指数関数的に肥大化するようだ。AliceAliceScratchは2Dグラフィックス、テキスト、その他の”平面的な”プログラミング概念を扱うが、Aliceでは3Dのムービーとゲームを舞台にプログラミングの基礎を学習する。AliceはJavaで書かれたツールであり、ドラッグ&ドロップ操作でプログラムを組み立てる点はScratchと似ている。Licenseというライセンスに基づいて公開される。ソースコードをダウンロードし、読解できる点で環境はオープンソースだが、開発者はチーム内で作業を完結させることを好み、外部からのコードの寄与を受け付けない。1999年頃に登場したAliceは、子供にプログラミングを教えるための環境として最も古く、最も開発が進んでいるものだ。そのため、世界中の学校で利用されている。stiff“で知られる開発者によって開発され、現在は大規模な開発コミュニティによって開発が続けられている。ユーザフレンドリなRubyプログラミング言語で書かれたShoesは、伝統的なプログラミング手法にやや比重を置いたオープンソースのツールキットである。Shoesでプログラムを作成するために必要なものは、ランタイム環境を除き、通常のテキストエディタだけである。プロジェクトのWebサイトからフリーのPDF形式ガイドブックをチュートリアルやサンプルを含め入手できる。印刷されたガイドブックを$5.57で注文することもできる。2には、キーコマンドでアクセスできる充実したマニュアルが組み込まれている。ShoesShoesの構文はRubyに似ており、グラフィックスやボタンの作成、カラーやテキストの表示を簡単に行うメソッドが用意されている。X、Windowsなど、複数のプラットフォームに対応する。プラットフォーム間の互換性は良好であり、ウィンドウ、ボタン、ダイアログはそれぞれの環境のネイティブな外観で表示される。アプリケーションを最初に作成したのがどのプラットフォームであっても関係ない。Rubyに似ていることのメリットは、さまざまなRubyGemsパッケージにアクセスできることだ。2には、ユーザのシステムにまだ存在しないGemを自動的にインストールする機能さえある。Shoesにはファンによって運営されるWebサイトがあり、Shoesで作成したアプリケーションのギャラリーが公開されている。Scratchと同様に、アップロードされたすべてのアプリケーションは自由にダウンロード、変更、再編成できる。Licenseに従ってリリースされ、外部でのパッチ作成や開発に門戸が開かれている。Basicなど、たくさんあるが、多くはプロプライエタリのツールである。Scratch、Alice、Shoesはオープンソースであり、フォーラムやチャットルームなどのサポートチャンネルを持ち、活発なコミュニティが形成されている。これらの3つの環境は、児童にプログラミングの概念を教えることを目的とする、おそらく最もオープンかつ成熟したアクセスの容易な環境だろう。