[Squeak-ja: 3615] Re: Scratch について

Kazuhiro ABE abee @ squeakland.jp
2007年 9月 30日 (日) 18:40:04 JST


阿部@新百合です。

On Sat, 29 Sep 2007 17:07:07 +0900
"H.Hachisuka" <hachi @ asu.ac.jp> wrote:
>Scratch(MITが開発した子供向けのブロック風のプログラム言語)ですが、調べて
>みたところスクイークで開発されているみたいなのですが、ここのMLでは取り上
>げられた事がないように思います。スクイークとは別物と考えた方がいいので
>しょうか?

言葉は出てきたことがありますが、確かに説明はなかったですね。

Scratchは、Squeak上でSmalltalk(古いSqueak 2.8をベースにしたMIT Squeak)を
使って開発されていますが、Etoysとは直接のつながりはありません。また、ユー
ザはSqueak上で動いていることを意識する必要はありません。
本来のSqueakはEtoysも含めた環境全体を指しますが、日本でスクイークというと、
ほとんど Etoysのことなので、その意味では別物です。

中心的な開発者のJohn MaloneyさんはSqueakのキーパーソンでもあり、特に
Morphicと呼ばれるUIのフレームワークで知られています(「Squeak入門 第3章」
参照)。そういうこともあって、ScratchにはEtoys的な要素がいくつか含まれてい
ます(どちらもLOGOのバリエーションと言った方が良いかもしれませんが)。
スケッチ(Scratchではスプライト)に対してタイル (同ブロック)を組み合わせて
スプリプトを書いていくことなどがそうです。 Etoysを使ったことがある人なら
簡単に使えるようになるでしょう。

Scratchのルック&フィールは他のMITメディアラボのソフトと統一されており、レ
イアウトが固定されていて、隠れているものがありません。目に見えているもの
をシングルクリックあるいはドラッグすることで操作できます(ハロ、ビューワ、
スクリプト、ワールド、全スクリプト、ウォッチャに相当するもが常に表示され
ています)。
Etoysでは、必要な機能がメニューの奥深くに隠れていたり、どこかに行ってしま
ったり、つかむのに苦労したりなどということがありますが、このようなことが
Scratchではあまりありません。マニュアルやヘルプなどのドキュメントも品質が
高いです。

ScratchはEtoysとは時間や制御に関する考え方が異なっており、Scratchは普通の
プログラミング言語に近いです。スクリプトは勝手にループしませんし、刻み値
もありません。スクリプトはイベントで起動され、タイミングは個々のブロック
中のウェイトで合わせます。一般的な制御構文も一通り揃っています。

Etoysがシミュレーションに特化しているのに対し、Scratchはインタラクティブ
な音やアニメーション、ゲームに強く、それに必要な素材が最初から豊富に用意
されているので、直ちに作品作りに取り掛かることができます。ゲームコントロー
ラとして使えるScratchPadというセンサもあります(世界聴診器に似ていますが
USB接続です)。

これらの作品を公開するためのSuperSwikiのような場所が最初から用意されてい
るのも特徴です。この仕組みは非常に洗練されており、プラグインがインストー
ルされていなくてもJavaとWebブラウザで実行可能です。ここにはすでに32,000以
上の作品が登録されています。

http://scratch.mit.edu/

その一方で、Etoysの特徴であるメタ的なところはほとんどなく、Scratch自体が
どのように作られているのかを調べたり、分解して変更したりといったことはで
きません。ScratchはScratch自体で書かれていませんし、Smalltalkのコードは隠
されています。

また、複数のスプライト間の関連を表現することが難しく、車をハンドルで操作
するといったことがややトリッキーになります。 スクリプトに名前を付けること
もできないので、ブロードキャストというラベルつきのイベントを使って呼び出
します。
たとえば、Drive a Carを Scratchで書くと以下のようになります。

http://scratch.mit.edu/projects/abee/6783
http://scratch.mit.edu/projects/abee/6779

あと、日本語化については、私が試しにやってみたものがありますが、ちゃんと
した多言語化は大島さんがやると聞いています。

以上のように、Scratchは非常に完成度が高く、興味深いシステムです。目的が違
うので必ずしもEtoysを置き換えるものではありませんが、デザイン面などでEtoys
が参考にすべきことはたくさんあると思います。

 //abee
--
阿部 和広  EMAIL abee @ squeakland.jp



Squeak-ja メーリングリストの案内