はじめに
Lisp にもっと慣れ親しみたいと思ったので、Land of Lisp を読んだ.
動機
読んだ理由
<div class="outline-text-3" id="text-orgheadline2">
<p>
Clojure をもっとかけるようになりたいのだけれども、 Clojure の本で手頃な本がないので、Common Lisp に挑戦してみた。 同じ Lisp ならば、それなりに得ることがあるだろうと思って。
</p>
</div>
読むのにかかった時間
<div class="outline-text-3" id="text-orgheadline3">
<p>
実は、半年前に一回読んでは見たものの、途中で挫折している。2 度めの挑戦。
</p>
<p>
3 日間でいっきに読んだ。読書時間は、22 時間なり。
</p>
</div>
内容
Common Lisp についてかかれた本。
Common Lisp 文法を解説し、その文法を利用したゲームを作成する. Web サーバつくったり、SVG の描写をしたり、AI プログラミングをしたりする。
感想
非常に 難しかった。
おバカそうな挿絵に油断してしまった。ものすごく難しい. たしかに、はじめのほうはスイスイ読める。 しかし、後半にしたがってソースが読めなくなった。
とくに、ワンプス狩りとダイス・オブ・ドゥーム。 ここを理解するだけでそれぞれ4時間ずつかかった。 最後の20ページなどは意味不明で読むのを諦めた。
自分で悩んでコードを書くのではなくて書いてあるコードを写経するだけなので、 果たしてこれでコーディング力がついたかというと、ついていない。 (http://landoflisp.com/source.html からコピペできる)
正直、この本に書いてあるようなコードはかける気がしない。 こういうコードをかけるようになると Lisp ハッカーの仲間入りなの かもしれないが、自分には 10 年かかってもかけないようなコードだ。
なんだか、越えられない壁を感じた。
良かった点
<div class="outline-text-3" id="text-orgheadline7">
<p>
良かった点としては、マクロをつかった DSL の鮮やかさに気づかされた点. マクロってすごいと思った。
</p>
<p>
それから、関数型プログラミングの聖なる部分と不浄なる部分を分けて説明する箇所も 面白かった。関数型に書くことに対して洗脳的?にかかれているところがよい。 こういう風に気を遣うことが関数型プログラミングを身につけるコツなのだと気づいた。
</p>
<p>
挿絵のマンガも面白い。ゲームをつくりながら学ぶというスタイルもよい。 文法の解説書は退屈になりがちがけれども、 この本は文法で退屈に感じるところはなかった。
</p>
<p>
ミュージックビデオは何度も見て、耳から曲が離れなくなった。
</p>
<p>
Land of Lisp ♪ Land of Lisp ♪
</p>
<p>
<iframe width="420" height="315" src="https://www.youtube.com/embed/HM1Zb3xmvMc" frameborder="0" allowfullscreen></iframe> </div> </div> </div>