_ JavaプログラマのためのLisp入門 LET OVER LAMBDAが届いたので読み始めたらめっぽうおもしろい。 著者は、『はじめに』の時点から突っ走る。 知性を持つプログラマが、いったんプログラミング行為を論理的手続きと考え始めれば、その手続きの論理的な次のステップは、自動化そのもので利益を享受することである。結局、プログラマはまさにこの自動化工程を遂行すべく訓練される。 そのためにはLispだしマクロだと主張する。というのは、 メタプログラミングは、すべてのプログラミング言語で多かれ少なかれ採用されている。だが、Lispほどそれを徹底して取り入れた言語は他にない。他のどんな言語も、メタプログラミングテクニックに都合の良いコーディングをプログラマに要求したりはしない。だからこそ、非LispプログラマからはLispプログラムが奇天烈に見えてしまう。Lispコードがどう表現されるかは、