第0章 Smalltalk/X 導入
ダウンロードからインストールまで
執筆時点での最新バージョンVersion 5.2.2(注:この原稿を書い たのはUPするエラい前です。ので、既に新バージョンが公式サイトにUPされてい ます。インストール方法など変わっていると思うので、近々フォローしようと思い ますが、しばらくはマニュアル片手に頑張って下さい…)のLinux x86 glibc v2版をインストールします。ダウンロードはST/X Download - Navigation(外部リンク;英語)から出来るはずです。Linux版のtar ballだけでなく、common_522.tgz も落としてくることをお忘れ無く。 適当なディレクトリに
tar xzvf linux.tgz
tar xzvf common_522.tgz
で展開して、作られたディレクトリstx522に入ります。インストールの 方法はINSTALLATION_NOTES_ENGLISHに書かれています。一人だけで使用 するのなら、自分のホームディレクトリ以下にインストールすることもできます が、その場合はSmalltalk/Xを起動するために、基本的にいちいちインストール したディレクトリまで降りていく必要があります。環境変数をいぢればなんとか なりそうですが、うだうだやるのも面倒なので、/opt/以下にインストー ルしてしまいます。もちろんroot権限が必要なので、それほど偉くない方は残念 ですが、ご自身のホームディレクトリ以下にインストールしてください。
えー、実のことを申しますと、インストールしたのが結構前なので、細かなこと は既に忘れてしまっています。(;) 以下、間違っている可能性大なので御注意 のほどを。まず、インストールのためのスクリプトですが、GUIのインストーラ がINSTALLという名前のシェルスクリプトとして用意されています。しか し、何故かコイツが上手く動かなかったので、ここではCUI版の INSTALL.shを実行します。
PATH=$PATH:.
export PATH
./INSTALL.sh
最初の2行が必要かどうかは知りません。INSTALLATION_NOTES_ENGLISH によれば、 INSTALLスクリプトでは必要なようなので、INSTALL.sh でも必要と勝手に考えて、 付け加えています。適当ですみません。まあ、なんとかなります。標準のインス トール先は /opt/stx/ のようです。その下に 5.2/ というディレ クトリが出来、そこにファイルがコピーされます。同じく、bin/ や doc/等のディレクトリもありますが、これらは 5.2/ 以下の同名ディレ クトリへのシンボリックリンクです。
私がインストールしたときには、確かドキュメント( doc/ ディレクトリ以下)が 正常にコピーされなかった覚えがあります。INSTALLATION_NOTES_ENGLISH にも それに似たことが書いてあるので、無理矢理コピーしましょう。cp コマ ンドで、stx522/doc を /opt/stx/5.2/doc に総コピーです。 PATHを通します。~/.bashrc あたりに
PATH=/opt/stx/bin:$PATH
export PATH
とでも書き加えます。また、INSTALLATION_NOTES_ENGLISH によれば、 Smalltalk/X 起動時に libbasic.so not found 等と怒られた場合、 LD_LIBRARY_PATH 環境変数にSmalltalk/Xのライブラリの場所を突っ込んでやる 必要があるようです。
起動!
早速Smalltalk/Xを起動しましょう。コマンドは smalltalk です。
smalltalk
しばらく時間がかかって、GUIが起動します。おなじみの同意書は英和辞典を片 手に頑張って読んで、そして同意しましょう。 理想的にはここで Launcher という名前のウィンドウが現れて一件落着、 のはずなのですが、(少なくとも私の環境では)上手くいきません。上手くいくど ころか、エラーが起こってしまうようで、デバッグウィンドウが画面を覆ってし まいます。
どうやら、日本語を表示しようとしてバグっているようです。仕方が ないので、言語設定を英語に変えます。まず、デバッグウィンドウを閉じ、 Launcher ウィンドウの System メニューを開きます。(注:この時点で は文字化けが激しいので、分からないかも知れません。メニューバーで左から4 番目です) その中から、Settings... (一番下)を選択します。設定ウィ ンドウの左側から、Language (ドイツと日本(?)の旗が翻っているアイコ ン)を選択します。右側に言語一覧が出るので English(US) でも選んで、 Apply しましょう。ともかく、これで一応の対処療法にはなります。 いくつか開発ツールの説明をしましょう。
まずは、Launcher ですが、様々 なツールを実行するランチャーであると同時に、いろいろなメッセージを表示す る場所(Transcriptと呼ばれます)でもあります。続いてツールバーを左 から見ていきます。
1つ目は、Workspace です。ここでは短いプログラム を打ち込んで、その場で実行できます。ハッキリ言いますが、間違っても使いや すくはありません。
2番目のボタンは FileBrowser です。ファイル に保存されたソースコードを見たり、実行したりといったことはここから出来ま す。編集も出来ますが、やはり使いやすくはありません。
3番目のボタンは スナップショットの保存 です。「スナップショット」とは、現在の Smalltalkの開発/実行環境の状態です。スナップショットを保存しておけば、次 回の起動時、スナップショットを保存した瞬間と同じ状態から、作業が開始でき ます。先ほど言語設定を変えたばかりなので、毎回同じ事をやらなくてすむよう に、スナップショットを保存しておきましょう。ファイル名はデフォルトの st.img で良いと思います。他のスナップショットから起動するには -i オプショ ンを指定します。また、スナップショットを無視して起動するには -I オプショ ンを指定します。
次のボタンは SystemBrowser です。ここでは、 Smalltalkの全てのクラスやメソッド等を見たり、編集したり、作ったりするこ とが出来ます。本来のプログラミングの中心なのでしょうが、やはり使いにくい ので、本稿ではあまり使用しません。 こんなところでしょうか。一番右のボタン はヘルプなので、詳しくはそちらを御覧下さい。
ソースファイルの読み込み/実行
次章以降でSmalltalkのソースファイル(fileOut形式)の書き方は解説し ますが、とりあえずソースファイルに書かれたプログラムの実行のしかたを説明 しましょう。
一つの、そして本来推奨されるべきであろう方法は、上で説明した Workspace や SystemBrowser で、つまり統合開発環境内でプログラムを書くことでしょう が、やはり手に馴染んだテキストエディタを使いたいという気持ちもあるでしょ う。ですから、本稿ではSmalltalkの環境に含まれないエディタで書いたソース ファイルを FileBrowser で読み込む方法を紹介します。
まずは適当なテキストエディタで、以下のようなプログラムを書き、 hello.st というファイル名で保存してく ださい。(プログラムの説明は次章で行います)
1 Transcript showCR: 'Hello Smalltalk world!!'.
2 !
続いて、FileBrowserを開き、hello.st を左クリックで選択してから、右クリッ クしてポップアップメニューを開きます。その中ほどに FileIn という メニューアイテムがあるので、それを選択してください。プログラムにエラーが 無ければ、Launcher ウィンドウの下側 (Transcript) に
Hello Smalltalk world!
と表示されるはずです。( ! は1個であることに注意;詳しくは次章で) 次章以 降で、あるソースファイルを「実行してください」とか、「FileInしてくだ さい」と書いたときには、このような手順をふむことを意味しています。
