LispとIQ
『On Lisp』読了。Webでも読めるけど、やっぱりこのボリュームだと書籍のほうが頭に入りやすい。
読んでみてあらためて思ったのは、「Lispは頭の良い人のための言語である」ってこと。
内容の3/4はマクロの話だからとくに顕著で、マクロ定義を見て「ここは展開されないけど、これは展開されてそのときの引数リストのcdrは……」みたいなのを考えていると、なんかIQテストを受けているような気分になってくる。
十分時間をかければ理解はできるものの、それはつまり開発効率としては良くないってことで、そのあたりが普及しづらい一因なんだろうな。逆に、こういった式が短時間で理解できるようなIQの高い人にとっては、パワフルで使いやすいってことも想像つく。
C++なんかの場合、STLみたいなライブラリは頭の良い人に作ってもらって、一般のプログラマはそれを使うような棲み分けができてるんだけど、言語/ライブラリ/プログラムの境界がほとんどないこともLispの売りだったりするからなあ。