やろーじだい

ブログです

Smalltalk で遊び初めたので MacOS における処理系の選択肢についてと数日触った所感

 自由自在 Squeak プログラミング(PDF版) を読んでいます。2年前くらいにいつか Smalltalk 触ってみたいとつぶやいていましたが、最近 Smalltalk が好きな方 (id:phaendal) とお話しする機会があり,その時簡単に教えてもらったこともあり触ってみています。

処理系の選択肢

 OS X El Capitan version 10.11.6 情報です。バージョンが違うと状況が変わる可能性があります。近い内アップデートするつもりなのでその後の状況についても更新します。

 自分がインストールして試したのは Pharo 5.0, 6.0, Squeak 5.1 の三つで,Pharo は最初からコードの色付け・補完などが実装されており整った環境がすぐに得られたのでこちらがおすすめな気がします。

 さらに、簡単に日本語を表示できるもの (http://qiita.com/newapplesho/items/d541bfdc1c54f273cea9 この記事での通りに日本語を表示できるもの) は現状 5.0 だけのようなので,日本語を表示したい場合は現在は 5.0 をインストールするべきかもしれません。ただ,6.0 ではシステムフォントが update を押しても入ってこないという問題であるため,単に日本語の表示の問題ではないです。うまくパスなどを通し日本語フォントが選択できれば 6.0 でも問題なくできる可能性があります。

 読んでいる書籍 (自由自在 Squeak プログラミング) は Squeak の処理系を使っていることが前提であるため,ところどころ違う点があります。例えば Halo が無い?ことや名前の違い (Squeak: Workspace, PopUpMenu, Pharo: Playground, basicMenuPopUp)、メニューから Morph 作成方法が見当たらないなどなど。これは Playground で Morph new openInWorld で作成可能。Transcript は Spotter (Shit + Enter) から見つかります。ただ基本的なキーバインドは同じなので 1, 2章を読んだ時点では少し調べれば解決できる程度にしか問題はおきていません。

 こちらのブログ で書かれているチュートリアルや公開されている Pharo の入門書の日本語訳 が参考になりそうです。

はまったこと

 上記の処理系全てをインストールした状態で open コマンドなどでイメージを起動するとどれで起動しているのかわからなくなります。前述の通り 5.0 しかフォントを上手く指定できなかったので最初はできていたことが突然できなくなるなどして困りました。現在は Pharo 5.0 以外をアンインストールして対応しました。

楽しさ

 Smalltalk によって構築された世界 (仮想環境) で開発を楽しめます。言語固有のOSが提供されている感覚で,文字通り Smalltalk の世界でプログラミングを行うので通常のプログラミング言語を学ぶ時とは全く違っています。言語仕様を見るだけではわからない感覚だと思うので気になっている人はひとまず触ってみるのがおすすめです。

 独特な世界ですが楽しめています。Emacs の中だけでプログラミングをしたりすることが気持ち良く感じる人は多分同じく楽しめるかと思います。ただ、グラフィカルなものを扱う経験があまりなかったので、単にそういった映像的なフィードバックを受けることの楽しさと混ざっている可能性もあります。

困っている点

 日本語の入力時に変換候補が Pharo 上で表示されず、なぜかデスクトップの左下の方に表示されます。AquaSKK では画面外に表示されてしまう (変換候補の辞書情報だけ見える) ので、通常のように変換が行えません。ことえりや GoogleIME では場所がおかしいだけで表示はされるのでこちらを使っています。

GoogleIME

f:id:lhcpr:20170627123525p:plain

AquaSKK

f:id:lhcpr:20170627123532p:plain