ガーン。
一つのメソッドが文字列リテラルを使いすぎとかいう理由でコンパイルできないという現象に遭遇。
どうやらSqueakのメソッドは短いことを推奨しているのではなくて強要しているらしい。
まぁ分割しさえすれば通ったんだけど。
因みに言語変換テーブルを生成するメソッドで遭遇しました。
私のコードであっても、通常はそんなことは起こりません。


因みに、昔、オブジェクトについているハッシュは何のためにあるのだろうと呟いた記憶がある。
確か、それ用の領域は10ビットだったと思うが、僅か10ビットの値を何の為にどういう使い方をしているのだろうとふと思ったわけです。
結局未だに調べていないわけですが、一応未だ困ってはいません。


で、言語の変換。
良いのか悪いの知らないが、最近メッセージを単なる文字列ではなくてシンボルにするというのが一部で流行している。
理由は単純に、それを使っている場所が直ぐに分かるから。
そのこと自体の是非はともかく、ホワイトスペースで始まるシンボルのセンダーが探せないのが痛い。
勿論、一番痛いのは、日本語を使うと「この文字列を含むメソッドを探す」みたいな処理がエラーを吐くことなんだろう。遅いしね。


grep !/^#/, map { chomp; $_; } <>;
この何気ないperlの一文ををphpで書こうとして発狂しそうになった。
grepしてmapだったかmapしてgrepだったか忘れたけど、確かそんなようなやつがsqueakにもあったなぁ。
それが嫌いな人もいるようですが。


ところで、perlを使っていて常々感じていたことは、大抵の場合、「記述が簡素であるほど、処理も速い」だ。
squeakの場合はよく分からない。っていうか、何が組み込みで、それがどこで登場するのか、全然把握していない。
これはきっとsqueakの良いところだ。