真 もわ爛漫

しゃーら、しゃーらしゃーら

宣伝『On Lisp』

訳者を個人的に知っているので宣伝。

http://www.amazon.co.jp/gp/product/4274066371/mowanetjp-22

訳者は同じ大学の(大学院生ではなく)大学生で、業績のない私から見ると雲の上。編集者も訳者の仕事に感嘆している。

そもそも野田さんの初稿が技術的な正しさ・日本語表現とも素晴らしかった。理解して訳している人特有の安定感があり、日本語表現の語彙も豊富で使いどころの判断が適切。書き下ろしでも翻訳でも、技術面の正しさと日本語の読みやすさを両立できる人はなかなかいないんだけど、野田さんの訳は最初から両方とも高レベルだった。それでももちろん複数人の目で見るうちに不具合がたくさん見つかったけれど、対処できる不具合なら問題ない。
http://hisashim.livejournal.com/2007/03/14/

      • -

原著が1993年と古いため、現在と状況が異なる部分も許容して読む必要はあるだろう。しかし、Lisp(本著ではCommon Lisp)という言語は、本質的な部分で変化することなく計算機科学の世界で生き残った言語だ。10年程度で何か重要な違いが起きていたようにも思われない。本質的な仕様変更であたふたしがちな手続き型言語とは違う何かがLispにはあると、私は勝手に想像している。

私の聞いた話では、Common Lispは仕様が煩雑で、最初に学ぶLisp言語としてはSchemeに一歩及ばないという話もある。そういう意味では、初学者が読むための本ではなく、Lispに対するさらなる理解のための著作、と見る方が適切だろう。

今でこそ成功して後進の若者たちに出資する立場にいるけれど、この本を書いた当時はまだ無名の若手だったらしいことを考えあわせると、言っていることの確かさと、自分が言ったことをやってのける実行力にしびれる。
http://hisashim.livejournal.com/2007/03/14/

著者Paul Grahamの著書については『On Lisp』より『ハッカーと画家』の方が有名だろうと思う。

Amazon CAPTCHA

『On Lisp』原著が1993年の本なのに対し『ハッカーと画家』は2004年の本。この2冊の間に、Paul Grahamの個人的成功がある。

ポール・グレアム - Wikipedia

1995年にロバート・モリスと最初のASPであるViawebを創立。Common Lispで書かれたViawebソフトウェアでは、ユーザーがインターネットストアを作成することが出来た。1998年、ViawebはYahoo!の45万5000株(4960万ドル相当)と交換でYahoo!に買収され、同製品はYahoo!Storeとなった。

この年代の順序だけ見ると『On Lisp』は、Paul Grahamの成功物語の予告編と言えるのではないか。すなわち、成功前の若者が「おれは成功する。何故ならLispが強力だからだ」と宣言し、実行し、成功し、そして「おれは成功した。何故ならLispが強力だからだ」と勝利宣言した、という順序になっているように見えるからだ。

そのような意味でこの『On Lisp』は、Paul Grahamという偉大な(多分^^;)プログラマの成功史を語る上で欠かせない本なのだろうと思う。

私はLispを少ししか書けないが、その概念の重要さについてはそれなりに理解しているつもりだ。Joelもこう言う。

Javaスクールの危険 - The Joel on Software Translation Project

関数プログラミングを理解していなければ、GoogleをあれほどスケーラブルにしているアルゴリズムであるMapReduce (http://labs.google.com/papers/mapreduce.html)は発明できない。MapとReduceという用語はLisp関数プログラミングから来ている。純関数プログラムは副作用がなく容易に並列化できるということを6.001に相当するプログラミングの授業で聞いて覚えている人には、MapReduceは容易に理解できる。GoogleMapReduceを発明し、Microsoftが発明しなかったという事実は、Microsoftが基本的な検索機能についてキャッチアップの途上にあり、一方Googleは次なる課題へと進んでいることを示している。Skynet (http://en.wikipedia.org/wiki/Skynet)世界最大の並列スーパーコンピュータ (http://www.pbs.org/cringely/pulpit/pulpit20051117.html)を構築しているのだ。この流れの中でいかに遅れを取っているかをMicrosoftがちゃんと理解しているとは思わない。

関数型プログラム言語は計算機科学において重要で、Lispは関数型プログラム言語であり、Common LispLispの一つであり、『On Lisp』はCommon Lispについての解説本だそうである。この流れからこの本が「必読」であると結論するのは早計だが、「重要」な本である可能性については理解していただけると思う。

ましてやそのCommon Lispで予告付きの成功を収めた人物のその予告である。これは読むべきであると言わざるを得ない。

      • -

Lispに弱い私も少し勉強しないとなぁ、なんて思うのであった :-)