ブログは死なず、ただ放置されるのみ。

終わっちゃいましたね。

Gaucheと二人きりの夜

仕事でとあるネット接続のないところに拉致された、とりあえず待機ということで、何かないかぎり何もすることがない。というわけで、何かあったとき用のノートPCを借り、Gauche - A Scheme ImplementationコンパイルWindows用バイナリと 独習 Scheme 三週間 vim を入れて Gauche をいじってみる。Gauche のインストールは zip を展開して c:\ 直下に入れて Path に c:\Gauche\bin を加えるだけで OK。で DOSプロンプトから vimhoge.scm をいじっては gosh hoge.scm を繰り返す。

まとまった時間というのはやはり大切だ。1日1時間とか勉強して身につく人もいるのだろうけど、今回は3時間ぐらいまとめてずっと Gauche と語り合うことができて、Lisp系言語にはまったまま抜けられない人達の気持ちが少し理解できたような気がする。プログラム言語と語り合う、というのは少なくとも私の中ですごくしっくりとくる表現だ。CでもRubyでも書いていて辛いときは、それは書き方…、例えば処理の分割がイマイチだったり、拡張性の無い書き方だったり、後で読めないコードを書いている。なので一息ついてからもう一度来た道を引き返す。そして出発点が間違っていたことを知る。書き直す。今度はすいすいと書ける。エディタにコードが吸い込まれていくような感覚。待ってくれオレはそんなに早く打てないよ。

ループでなく再帰を使うのはこんなにも楽しいものか。サンプルコードをコピペするなどということは私はしない。もしかしてこう書いたらこう動くのか? 違う? おお括弧の位置がずれていた。確かにものすごい括弧閉じの嵐。しかしこれが苦にならない人の気持ちはよくわかる。Cのポインタのポインタで悩んだことを忘れてしまったのと同じような感じじゃないだろうか。ポイントを知れば閉じ括弧の数を数えるなどということはなく、vim で % を押せばすむ話なのだ。たぶん。

こうして Gauche と語り合う幸せな時間は「装置が送信してるデータが変なんですけど」の一言で終わってしまった。そして私はやるべきことをやり(そのために来たのだから)、戻ってきたときには、もう Gauche と語り合うほどの力は私には残っていなかった。

というわけで、とりあえず自力で実装した echo.scm と cat.scm をもうちょっとマシなソースにする時間が欲しいのだが、今週はお客さんとこに行ってるのでちょっと無理ですな。