GO BACK

Squeak教室 その1

「スクイークってなに?」



■SqueakはSmalltalkです!

 というわけで、Squeakについて説明していきましょう。まず、「Squeak(すくいーく)とは何か?」ということからです。が・・、これが実はとっても難しい。一言で説明しにくい感があります。

 Squeakというのは、アップルコンピュータが開発した新しい(といってももうできてずいぶんになるけど)Smalltalkの名称です。「Smalltalk(すもーるとーく)」っていうのは、その昔、アラン・ケイおじさんが「ダイナブック」って夢のコンピュータを妄想してた頃に、その土台となるプラットホーム兼開発環境として考案されたものです。まあ、そんなのは別に覚える必要もない、どーでもいいことなんですが、要するにけっこうな歴史を持ったプログラミング言語だってことですね。

 が、ここで「Smalltalk=プログラミング言語」といいきってしまうと、また話がややこしくなってきます。Smalltalkは、まぁ確かにプログラミング言語ではあるのだけど、単純に「命令を書いてコンパイルするとMacとかWindowsとかのアプリができる」っていう言語ではないんです。これは「環境そのもの」だと考えた方がいいでしょう。つまり、WindowsとかMac OSといった「OS」に近いものですね。

 Smalltalkは、「コンピュータが持つ全ての機能、すべてのプログラムを利用者に解放し、自由に扱えるようにする」ことを考えて作られました。ほら、普通のOSってのは、コンピュータが直接理解できる(けど人間様は絶対理解できない)形でプログラムができてるでしょ? 普通、プログラムというのはコンピュータ(っていうかCPU)が直接理解できるような形に変換(コンパイルっていう)されて動いてます。なので、例えば「WindowsのOSの中身がどうなっているか見てみたい」といってもできないし、「この機能は気に入らないから自分でプログラムを書き換えたい」といっても無理なわけです。中にはやっちゃってる人もいますが、そういう人は「悪い子」とされ石を投げられたりします。

 じゃあSmalltalkはどうなっているんでしょうか。——Smalltalkというのは「仮想マシン」といって、コンピュータの中に架空のコンピュータを作り上げ、その中で動くようになっています。そして全ての機能は、その仮想マシン上で動くようにSmalltalk自身で書かれてあります。全てのコードは公開され、誰もが自由に変更できます。要するに、Mac OSとかWindowsのプログラムリスト(ソースコードっていう)がいつでもずらーっと呼び出せて、それを自由に書き換えて自分なりに機能を変更したりできるような形になってる、と想像すればいいでしょう。

 プログラムは、いつでもどこでも好きな時に好きなように書き換えできます。そして書き換えたプログラムは瞬時にOS全体に反映され、その場で変わってしまうのです。例えばウィンドウを開いて何かをしていて「このウィンドウのこのボタン、もうちょっとこうなった方がいいな」とか思ったら、その部分のソースコードを開いて書き換えれば、その瞬間からあなたのマシンの機能は修正されてしまうのです。

 Smalltalkの全ての機能はSmalltalk自身で記述してあるといいましたが、これは「イメージファイル」と呼ばれるファイルの形になっています。そして小さな仮想マシンをパソコン内で起動し、そのイメージを読み込めば、あなただけの環境が現れるようになってるわけです。ということは? そう、「ちっぽけな仮想マシン」さえ自分のパソコンで動けば、実際に使っているOSなんかに関係なく同じ環境がどこでも動いてくれるわけです。MacだろうがWindowsだろうがLinuxだろうがザウルスだろうがBeだろうがなんだろうがかんだろうが、仮想マシンさえあればどんなマシンでも自分の環境が使えます。まさに夢のようなコンピュータ環境でしょ?


■SqueakはSmalltalkじゃないです(笑)

 で、このSmalltalkを土台にして使いやすい環境を構築していったのが「Squeak」なわけです。——が! 「なるほど、つまりすっごい便利なもんだけど、そのSmalltalkとかいうプログラムを自分で書いて動かすような代物なわけね」と思ってしまうと、これがとんでもない間違いなのです。

 ここで、あえていっておきましょう。——「Squeak = Smalltalk」ではありません。ま、確かにSmalltalkの上に構築されたもんですよもちろん。でも、元になったSmalltalkとは似ても似つかないものになっちゃってます。特に、ここで説明する「デジタルおもちゃを作って動かす」というSqueak独自の環境を使う限り、「SqueakはSmalltalkではなくて、『Squeak』という独自の環境なんだ」と割り切った方がいいでしょう。なので、最初のうちは「SqueakでSmalltalk(というプログラミング言語)を勉強しよう」なんてことは考えないで下さい。ま、できないこたぁないんだけど、その入り口は40万光年先にあると思っておきましょう。Squeakは、Squeakです。それ以外のナニモノでもありません。

 では、Squeakっていうのはどんなものか。簡単に特徴をまとめてみましょう。


 かなり毛色の変わったものということはわかりますね? というわけで、いわゆるプログラミング言語とは相当に違うものであるということを頭に入れて、覚悟を決めて使いましょう。

 では、このSqueakはどこから手に入れればいいんでしょうか? ——Squeakは、現在、アラン・ケイおじさんという立派な人が中心になっていろいろやってます。これは、以下のところにホームページがあります。

http://www.squeak.org/

 ここでSqueakをダウンロードできます。Windows、Mac、UNIXなどたくさんのプラットホーム用のものがあるので、自分の使っているOS用のものをダウンロードしておくといいでしょう(でも後述の日本語版のページからダウンロードした方が簡単かも)。この講座を書いている時点で、ver. 3.2というものが最新となります。ここでは、これをベースにして説明をしていきます。

 ダウンロードした圧縮ファイルを伸長(解凍)すれば、そこにSqueak一式が現れます。が! これだけではまだ不十分です。いや、これでいいんだけど、実はこのSqueakは英語版なのです。やっぱり、せっかくだから日本語版を使うことにしましょうよ。

 Squeakは、阿部さんという方が中心となって日本語版が作成されています。作ってくれた人たちに感謝し、これを使わせてもらいましょう。これは、以下の「多言語化Squeakホームページ」というところで配付されています。

http://squeak.hp.infoseek.co.jp/

 ここの「日本語版Squeakを使おう」というページから、「SqueakNihongo4.zip 」というファイルをダウンロードして下さい。これが、日本語Squeakのイメージファイルです。何度もいうように、Squeakは本体のアプリケーションは単なる仮想マシンプログラムであり、そこにロードされるイメージファイルこそがSqueak本体なのです。なので、日本語のイメージファイルをダウンロードして使えば、(アプリ自体が英語でも)日本語になっちゃうのです。

 で、ダウンロードされたファイルの中で、「Squeak(Squeak.exe)」というのが仮想マシンのアプリケーション、そして「SqueakNihongo4.image」というのが日本語Squeakのイメージファイルです。基本的に、この2つがあればSqueakは動きます。

 Squeakの起動の仕方はちょっと変わってます。Squeakアプリ本体をダブルクリックするんじゃなくて、イメージファイルをSqueakアプリにドラッグ&ドロップして起動するんです。ほら、イメージファイルが本体だから。とりあえず、そうやって起動してみて下さい。画面に新しいウィンドウが現れます。真っ白くて何もない画面で、下の方に「ナビゲータ」「部品」という2つのタブが見えます(SqueakNihongo4.imageの場合)。これがSqueakの基本画面です。



 とりあえず、細かい使い方はおいといて、終了の仕方も覚えておきましょう。「File」メニューから「Quit do not save」を選ぶ(Macの場合)か、ウィンドウのクローズボックスをクリックする(Windowsの場合)と、Squeakはユーザーの修正などを全て破棄して(要するに何も保存せずに)終了します。とりあえず、これでオッケーと考えて下さい。


■ナビゲータの働きを覚えよう!

 Squeakの操作の基本は、「作品の中に入り込んだり、そこから抜け出したりして動き回る」という感じです。ウィンドウの中にいくつもの作品が並び、その中に入るとその作品の画面が現れる。また抜け出すともとの画面に戻る、そういう感覚ですね。作品の中に更に作品が組み込まれたりもできるので、やっているとどんどん中に入り込んでいくような錯覚にとらわれます。

 「でも、作品なんてなにもないじゃん」と思った人。とりあえず、自分で作ってみましょうよ。——「ナビゲータ」タブをクリックしてみて下さい。画面に「共有」「前へ」「次へ」・・といったボタン類がずらっと並んで現れます。これが、作品の間を移動したり作品を保存したり読み込んだりといった操作をするためのものです。ここで「新しく作る」というのをクリックすると、画面左上に四角い部品がパッと現れます。これが、新規作成された「作品」です。



 この四角いやつをクリックすると、この作品の中に移動します。といっても、また何もない真っ白い画面が現れるだけなんだけどね。で、「ナビゲータ」タブの「前へ」をクリックすると、作品を抜けて最初の画面に戻るわけです。まず、この「作品の中に入ったり出たりする」という移動に慣れておきましょう。


■Squeakの3つの基本マウス操作

 Squeakってのはずいぶんシンプルだな、移動しかできないのか、なんて思っている人。そうじゃありません。Squeakは、MacやWindowsみたいに常にメニューバーが表示されるようなインターフェイスではないのです。あらかじめ「3つの基本マウス操作」というのが決まっていて、それによって必要なメニューがぱっと現れ、そこから様々な機能を呼び出すようになってます。まずは、この3つの基本操作を覚えましょう。

コマンドキー+クリック or 右ボタンクリック(Mac)
 Altキー+クリック(Windows)

選択した部品の「ハロ(halo)」というものを表示します。ハロっていうのは、その部品を動かしたり操作したりするための小さなアイコンのことです。これについては後で説明します。部品外の適当なところをクリックすれば消えます。(下の図の、部品の周りを取り囲むように現れてるアイコン群がハロです)



・コントロールキー+クリック
Mac/Windows共通です。「ワールド」というメニューを表示します。ワールドっていうのは、現在表示されているこの画面全体のことと考えて下さい。このワールドに関する機能がまとめてあるんですが、はっきりいって今はわからなくていいです。



シフトキー+クリック
これもMac/Windows共通です。これを行うと、画面に「ウィンドウを探す」というメニューが現れます。複雑な作品になると、画面の中にいくつもの部品が入り交じってきたりしますが、これで必要な部品をダイレクトに選択できるわけです。このメニューから部品名を選ぶと、その部品が選択されハロが表示された状態となります。


escキー
「・・おい、基本操作は3つじゃなかったのかよ?」と思った人。そうなんだけど、実はもう1つ覚えておきたいのがあります。escキーを押すと、画面に「ワールド」メニューが現れるのです。「あれ、ワールドメニューって前にやったじゃん」と思うでしょうが、実は同じワールドメニューでも、前のコントロールキー+クリックとは違うものが現れます。
 これは、実はコントロールキー+クリックで出てくるワールドメニューの「デスクトップメニュー」を選んで現れる、いわば「第2のワールドメニュー」なんです。後述する作品の読み書きでこのメニューを使うので、一緒に覚えておいてほしいのです。

 というわけで、この3つのマウス操作を使ってハロやメニューを呼び出し、それを操作していけば、いろんなことができるようになってるってわけですね。細かい内容は後でおいおい覚えるとして、この「3つの操作(+1)」はしっかり頭に入れておきましょう。

 あと、もう2つ覚えておきたい操作があります。それは「作った作品の保存と読み込み」です。そのまま終了しちゃうと、作った作品はまったく保存されず消えてしまうのです。作品の保存と読み込みは、(第2の)「ワールド」メニューから行えます。簡単にまとめておきましょう。

・作品の保存
escキーを押して現れる「ワールド」メニューから「作品をファイルに保存」を選ぶ。すると、初めて保存する作品の場合は「作品の説明を書いて下さい」という表示が現れるので、ここで名前を適当に書き込み「了解」ボタンを押す。すると「この作品を公開」という表示になるので、このまま「手元のディスクにのみ保存」を選ぶ。
 保存した作品は、Squeakのフォルダ内の「Squeaklets」というフォルダ内に「○○.001.pr」というファイル名で保存される。



・作品の読み込み
escキーで現れる「ワールド」メニューから「作品をファイルから読込む」を選ぶ。そして現れた「Select a file:」メニューから「Squeaklets[...]」というのを選ぶと、Squeakletsフォルダ内に保存したファイル一覧が現れるので、ここで読み込みたい作品を選べばいい。


 というわけで、3つの基本操作、作品の読み書きといった基本中の基本についてわかったところで、いよいよSqueakを使って何か作っていくことにしましょう。


GO NEXT


GO HOME