祝、復刊。「Common Lisp オブジェクトシステム」\(^O^)/ ― 2010年09月21日 01時34分50秒
ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
以前、bit別冊で出ていたCommon LispのオブジェクトシステムCLOS(Common
Lisp Object System)の本が、復刊しました。
http://www.amazon.co.jp/exec/obidos/ASIN/4320122542/showshotcorne-22/
Common Lisp オブジェクトシステム [単行本]
井田 昌之 (編集), 元吉 文男 (編集), 大久保 清貴 (編集)
ソッコー、ご祝儀で注文。
共立出版にあるページは、
http://www.kyoritsu-pub.co.jp/shinkan/shin1008_09.html
Common Lisp オブジェクトシステム
(ISBN978-4-320-12254-3)
井田昌之・元吉文男・大久保清貴 編
B5,334頁,5000円
復刊.comをみると、
http://www.fukkan.com/fk/VoteDetail?no=20616
では、128票を集めていますね。詳細ページは、
http://www.fukkan.com/fk/CartSearchDetail?i_no=68314024
久々に新宿ジュンク堂に行ったら、本書は、エスカレータ脇に大きく陳列さ
れていた。オビには、
プログラミング言語「Ruby」の開発者
まつもとゆきひろ氏も絶賛!
や、まつもとさんの
自分のオブジェクト指向の原点です。
などという言葉が踊っていた。
井田昌之先生のブログがあって、そこに復刊の話がありますね。
http://www.sociono.net/session-ida/cat/教育/common-lispオブジェクトシステム復刊/
Common Lispオブジェクトシステム復刊
--- ここから ---
まず、夏前に、担当者氏が訪ねてきて、このCLOSの本を再発行したいと言って
きた。それを待っている声がネットをはじめ、いくつかのところであるという。
正直、びっくりした。
(略)
毎月会合をしながら、いろいろと議論し、楽しかった。これが1988年の思い出。
こういう気分の場所は今の東京に、日本にどこかに作れるか?というのが課題
である。さみしいことに私の近辺では難しい。同じようなきらきらとした眼は、
ベトナムの若い人たちに教えているときに感じる。なんとか東京近辺でもでき
ないかと思案中である。
--- ここまで ---
井田先生、Shibuya.lispの活動やネット上の活動はご存じないようですね。
若い人たちの中には、彼らなりにいまの時代のやり方で、きらきらした眼で
精進している人たちがいる。もっと人が増えるといいとは思うが、いつの時代
もLisperは少数精鋭だったので、その点は、おれは、あまり心配していない。
おれは彼らを信頼している。
新宿ジュンク堂では、本書と一緒に
http://www.amazon.co.jp/exec/obidos/ASIN/4798119415/showshotcorne-22/
初めての人のためのLISP[増補改訂版] (単行本)
竹内 郁雄 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4798118907/showshotcorne-22/
実用 Common Lisp (大型本)
ピーター・ノーヴィグ (著), 杉本 宣男 (翻訳)
http://www.amazon.co.jp/exec/obidos/ASIN/4798025623/showshotcorne-22/
ガベージコレクションのアルゴリズムと実装 (単行本)
中村 成洋 (著), 相川 光 (著), 竹内 郁雄 (監修)
が置いてあった。
いずれも、LispやCommon Lispのことを勉強するには、いい本。
「初めての人のためのLISP[増補改訂版]」は、入門。それも爆笑入門。
「実用 Common Lisp」は、AI(人工知能)研究で培われたものも含めて、実践
的な技法解説。
「ガベージコレクションのアルゴリズムと実装」は、50年も前からLispが当
たり前にやっているガベージコレクションにのみ焦点を当てた世にも希少かつ
貴重な本。
これらに加えるなら、入門では、
http://www.amazon.co.jp/exec/obidos/ASIN/4894714337/showshotcorne-22/
ポール・グレアム著, 久野雅樹, 須賀哲夫訳「ANSI Common Lisp」
http://www.amazon.co.jp/exec/obidos/ASIN/400007685X/showshotcorne-22/
湯浅太一, 萩谷昌己著「Common Lisp 入門」
入門書で、基本的なことはわかったが、実際に使えるプログラムはどう書く
んだという実践的な話なら、
http://www.amazon.co.jp/exec/obidos/ASIN/4274067211/showshotcorne-22/
実践Common Lisp (単行本(ソフトカバー))
Peter Seibel (著), 佐野匡俊 (翻訳), 水丸淳 (翻訳), 園城雅之 (翻訳), 金子祐介 (翻訳)
Common Lispの神髄であるマクロについては、
http://www.amazon.co.jp/exec/obidos/ASIN/4274066371/showshotcorne-22/
Paul Graham著、野田開訳「On Lisp」
http://www.amazon.co.jp/exec/obidos/ASIN/4434133632/showshotcorne-22/
LET OVER LAMBDA Edition 1.0 (単行本)
ダグ ホイト (著), Doug Hoyte (原著), タイムインターメディアHOPプロジェクト (翻訳)
が参考になるだろう。
本に手を出す前に、Common LispやCLOSがどういうものか、ざっくり知りた
いなら、
http://ja.wikipedia.org/wiki/Common_Lisp
http://ja.wikipedia.org/wiki/Common_Lisp_Object_System
ついでにいうと、Common Lispの標準は、現在はANSI Common Lispだが、そ
の前は、
http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
Common Lisp the Language, 2nd Edition
1994年にANSI Common Lispになったが、仕様を知りたいとき、プログラムを
書くときに便利なのが、LispWorks社が提供してくれている
http://www.lispworks.com/documentation/common-lisp.html
The Common Lisp HyperSpec
そうそう、ここで紹介している本の中には、ANSI Common Lisp以前のCommon
Lispをベースにしたものがあるが、(特に初心者が)そう気にするほどの違い
はない。おれも知らんし。\(^O^)/
他の言語、特にC/C++, JavaやPerlなどの手続き型言語、命令型言語のプロ
グラマは、細かな違いより、Lisp的な発想やイディオムを身に付けるほうが重
要。
CLOSのことでもう少し。
Lispのすごいところ、Lisperの発想のすごいところは、CLOSという標準はあ
っても、気に入らなければ、さらに手を加えられるようになっていること。そ
のための仕組みがMetaobject Protocol。その解説が、
http://www.amazon.co.jp/exec/obidos/ASIN/0262610744/showshotcorne-22/
Gregor Kiczales, Jim Des Rivieres, Daniel G. Bobrow「The Art of the
Metaobject Protocol」
この本、おれは、
http://iiyu.asablo.jp/blog/2008/11/24/3972714
洋書の値段って不思議
で書いたときは、本家amazonにはあっても日本のアマゾンにはなかった。いま
は、ありますね。円高の今、チャンスだろう。
そもそも、CLOSに手が加えられるようになっているというのは、Lispにとっ
ては、当たり前といえば当たり前。そうなってないなら暴動が起きる。\(^O^)/
何度もしつこく繰り返して耳タコだろうが、Lispは、通常のプログラミング
言語でいえば、コンパイラが構文解析した結果を自由にプログラマが操作でき
る。というか、LispのプログラムはS式で書くが、S式を構文解析した結果の構
文木だと思えば、プログラマが最初から構文木を書いているという反則技を使
っている。\(^O^)/
そして、S式=構文木をあれこれ操作するのに便利なのがLispのマクロ。
Lispのマクロは、C/C++のプリプロセッサのような字句レベルの置き換えで
はない。S式=構文木をあれこれいじり回すことができる。そこが偉いところ。
そんなわけで、DSL(Domain Specific Language, 特定問題領域専用言語)を
作りやすい。CLOSは、オブジェクト指向という問題領域のために作られたDSL
とみなすこともできる。
各人が自分なりのオブジェクト指向プログラミング用のDSLを書いてもいい
が、オブジェクト指向の分野は影響も大きいので、標準化したほうがよい。と
いうことで、標準化されてCLOSになっている。
しかし、CLOSもCommon Lisp上に関数やマクロを定義したものなので、あれ
これ変更可能。さらにしかし(ここがいかにもLisp屋のやり方)、変更のやり方
も標準化できれば、言語そのものを改造していくメタプログラミングもやりや
すいよね。というのが、Metaobject Protocol。公的な標準にはなっていない
が、「The Art of the Metaobject Protocol」(略称AMOP)に書いてあることが、
実質的な標準になっている。
ところで、
http://iiyu.asablo.jp/blog/2007/05/11/1501516
本の品切れ。Lispの古本はバブル? 入門書紹介も兼ねたつもり。
で言及した
http://www.amazon.co.jp/exec/obidos/ASIN/0262161362/showshotcorne-22/
Andreas Paepcke編「Object-Oriented Programming: The Clos Perspective」
あれを書いた2007年5月では、「13000円以上する。どういうこっちゃ、こ
りゃ」と書いたが、いま、みたら、中古品3点31,226円よりだって。セドリ業
者とはいえ、ふざけすぎだろう、これ。
あ、
http://iiyu.asablo.jp/blog/2008/11/24/3972714
洋書の値段って不思議
をみると、2008年11月には、43,307円と43,898円だったのね。もっとふざけた
奴らがいたんだ。^^;
筋金入りのコレクターなら別だから、フツー、3万円や4万円も出して買う
ものじゃありません。
関連:
http://iiyu.asablo.jp/blog/2009/10/09/4621325
竹内郁雄『初めての人のためのLISP 増補改訂版』
http://iiyu.asablo.jp/blog/2009/10/14/4631684
がびーん、竹内郁雄『初めての人のためのLISP 増補改訂版』、予約終了(泣)
http://iiyu.asablo.jp/blog/2010/02/19/4890951
Lispの神様 竹内郁雄教授の最終講義。「初めての人のためのLISP 増補改訂版」
http://iiyu.asablo.jp/blog/2010/02/19/4890951
Lispの神様 竹内郁雄教授の最終講義。「初めての人のためのLISP 増補改訂版」
http://iiyu.asablo.jp/blog/2010/03/01/4913323
初めての人のためのLISP[増補改訂版] 、売れまくり\(^O^)/
http://iiyu.asablo.jp/blog/2010/03/03/4917592
続:初めての人のためのLISP[増補改訂版] 、売れまくり\(^O^)/
http://iiyu.asablo.jp/blog/2010/04/02/4989509
bit誌の連載「マルチパラダイム言語 TAO」が公開されている\(^O^)/
http://iiyu.asablo.jp/blog/2010/04/28/5047508
緊急特報!Peter NorvigのPAIPの翻訳「実用 Common Lisp」が出る\(^O^)/
http://iiyu.asablo.jp/blog/2010/05/06/5065468
洋書のAI(人工知能)本。「実用Common Lisp」のことも少し。
http://iiyu.asablo.jp/blog/2010/03/18/4954353
ガベージコレクションのアルゴリズムと実装。洋書ガベコレ本の話題も
http://iiyu.asablo.jp/blog/2007/05/11/1501516
本の品切れ。Lispの古本はバブル? 入門書紹介も兼ねたつもり。
http://iiyu.asablo.jp/blog/2005/09/16/76723
Peter Seibel著「Practical Common Lisp」(Apress)
http://iiyu.asablo.jp/blog/2008/07/18/3633573
Peter Seibel著「実践Common Lisp」
http://iiyu.asablo.jp/blog/2008/08/19/3699006
Common Lisp本「Let Over Lambda」
http://iiyu.asablo.jp/blog/2009/09/02/4555619
The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで
http://iiyu.asablo.jp/blog/2007/01/14/1111083
AMOPはThe Art of the Metaobject Protocolのこと
---
以前、bit別冊で出ていたCommon LispのオブジェクトシステムCLOS(Common
Lisp Object System)の本が、復刊しました。
http://www.amazon.co.jp/exec/obidos/ASIN/4320122542/showshotcorne-22/
Common Lisp オブジェクトシステム [単行本]
井田 昌之 (編集), 元吉 文男 (編集), 大久保 清貴 (編集)
ソッコー、ご祝儀で注文。
共立出版にあるページは、
http://www.kyoritsu-pub.co.jp/shinkan/shin1008_09.html
Common Lisp オブジェクトシステム
(ISBN978-4-320-12254-3)
井田昌之・元吉文男・大久保清貴 編
B5,334頁,5000円
復刊.comをみると、
http://www.fukkan.com/fk/VoteDetail?no=20616
では、128票を集めていますね。詳細ページは、
http://www.fukkan.com/fk/CartSearchDetail?i_no=68314024
久々に新宿ジュンク堂に行ったら、本書は、エスカレータ脇に大きく陳列さ
れていた。オビには、
プログラミング言語「Ruby」の開発者
まつもとゆきひろ氏も絶賛!
や、まつもとさんの
自分のオブジェクト指向の原点です。
などという言葉が踊っていた。
井田昌之先生のブログがあって、そこに復刊の話がありますね。
http://www.sociono.net/session-ida/cat/教育/common-lispオブジェクトシステム復刊/
Common Lispオブジェクトシステム復刊
--- ここから ---
まず、夏前に、担当者氏が訪ねてきて、このCLOSの本を再発行したいと言って
きた。それを待っている声がネットをはじめ、いくつかのところであるという。
正直、びっくりした。
(略)
毎月会合をしながら、いろいろと議論し、楽しかった。これが1988年の思い出。
こういう気分の場所は今の東京に、日本にどこかに作れるか?というのが課題
である。さみしいことに私の近辺では難しい。同じようなきらきらとした眼は、
ベトナムの若い人たちに教えているときに感じる。なんとか東京近辺でもでき
ないかと思案中である。
--- ここまで ---
井田先生、Shibuya.lispの活動やネット上の活動はご存じないようですね。
若い人たちの中には、彼らなりにいまの時代のやり方で、きらきらした眼で
精進している人たちがいる。もっと人が増えるといいとは思うが、いつの時代
もLisperは少数精鋭だったので、その点は、おれは、あまり心配していない。
おれは彼らを信頼している。
新宿ジュンク堂では、本書と一緒に
http://www.amazon.co.jp/exec/obidos/ASIN/4798119415/showshotcorne-22/
初めての人のためのLISP[増補改訂版] (単行本)
竹内 郁雄 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4798118907/showshotcorne-22/
実用 Common Lisp (大型本)
ピーター・ノーヴィグ (著), 杉本 宣男 (翻訳)
http://www.amazon.co.jp/exec/obidos/ASIN/4798025623/showshotcorne-22/
ガベージコレクションのアルゴリズムと実装 (単行本)
中村 成洋 (著), 相川 光 (著), 竹内 郁雄 (監修)
が置いてあった。
いずれも、LispやCommon Lispのことを勉強するには、いい本。
「初めての人のためのLISP[増補改訂版]」は、入門。それも爆笑入門。
「実用 Common Lisp」は、AI(人工知能)研究で培われたものも含めて、実践
的な技法解説。
「ガベージコレクションのアルゴリズムと実装」は、50年も前からLispが当
たり前にやっているガベージコレクションにのみ焦点を当てた世にも希少かつ
貴重な本。
これらに加えるなら、入門では、
http://www.amazon.co.jp/exec/obidos/ASIN/4894714337/showshotcorne-22/
ポール・グレアム著, 久野雅樹, 須賀哲夫訳「ANSI Common Lisp」
http://www.amazon.co.jp/exec/obidos/ASIN/400007685X/showshotcorne-22/
湯浅太一, 萩谷昌己著「Common Lisp 入門」
入門書で、基本的なことはわかったが、実際に使えるプログラムはどう書く
んだという実践的な話なら、
http://www.amazon.co.jp/exec/obidos/ASIN/4274067211/showshotcorne-22/
実践Common Lisp (単行本(ソフトカバー))
Peter Seibel (著), 佐野匡俊 (翻訳), 水丸淳 (翻訳), 園城雅之 (翻訳), 金子祐介 (翻訳)
Common Lispの神髄であるマクロについては、
http://www.amazon.co.jp/exec/obidos/ASIN/4274066371/showshotcorne-22/
Paul Graham著、野田開訳「On Lisp」
http://www.amazon.co.jp/exec/obidos/ASIN/4434133632/showshotcorne-22/
LET OVER LAMBDA Edition 1.0 (単行本)
ダグ ホイト (著), Doug Hoyte (原著), タイムインターメディアHOPプロジェクト (翻訳)
が参考になるだろう。
本に手を出す前に、Common LispやCLOSがどういうものか、ざっくり知りた
いなら、
http://ja.wikipedia.org/wiki/Common_Lisp
http://ja.wikipedia.org/wiki/Common_Lisp_Object_System
ついでにいうと、Common Lispの標準は、現在はANSI Common Lispだが、そ
の前は、
http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
Common Lisp the Language, 2nd Edition
1994年にANSI Common Lispになったが、仕様を知りたいとき、プログラムを
書くときに便利なのが、LispWorks社が提供してくれている
http://www.lispworks.com/documentation/common-lisp.html
The Common Lisp HyperSpec
そうそう、ここで紹介している本の中には、ANSI Common Lisp以前のCommon
Lispをベースにしたものがあるが、(特に初心者が)そう気にするほどの違い
はない。おれも知らんし。\(^O^)/
他の言語、特にC/C++, JavaやPerlなどの手続き型言語、命令型言語のプロ
グラマは、細かな違いより、Lisp的な発想やイディオムを身に付けるほうが重
要。
CLOSのことでもう少し。
Lispのすごいところ、Lisperの発想のすごいところは、CLOSという標準はあ
っても、気に入らなければ、さらに手を加えられるようになっていること。そ
のための仕組みがMetaobject Protocol。その解説が、
http://www.amazon.co.jp/exec/obidos/ASIN/0262610744/showshotcorne-22/
Gregor Kiczales, Jim Des Rivieres, Daniel G. Bobrow「The Art of the
Metaobject Protocol」
この本、おれは、
http://iiyu.asablo.jp/blog/2008/11/24/3972714
洋書の値段って不思議
で書いたときは、本家amazonにはあっても日本のアマゾンにはなかった。いま
は、ありますね。円高の今、チャンスだろう。
そもそも、CLOSに手が加えられるようになっているというのは、Lispにとっ
ては、当たり前といえば当たり前。そうなってないなら暴動が起きる。\(^O^)/
何度もしつこく繰り返して耳タコだろうが、Lispは、通常のプログラミング
言語でいえば、コンパイラが構文解析した結果を自由にプログラマが操作でき
る。というか、LispのプログラムはS式で書くが、S式を構文解析した結果の構
文木だと思えば、プログラマが最初から構文木を書いているという反則技を使
っている。\(^O^)/
そして、S式=構文木をあれこれ操作するのに便利なのがLispのマクロ。
Lispのマクロは、C/C++のプリプロセッサのような字句レベルの置き換えで
はない。S式=構文木をあれこれいじり回すことができる。そこが偉いところ。
そんなわけで、DSL(Domain Specific Language, 特定問題領域専用言語)を
作りやすい。CLOSは、オブジェクト指向という問題領域のために作られたDSL
とみなすこともできる。
各人が自分なりのオブジェクト指向プログラミング用のDSLを書いてもいい
が、オブジェクト指向の分野は影響も大きいので、標準化したほうがよい。と
いうことで、標準化されてCLOSになっている。
しかし、CLOSもCommon Lisp上に関数やマクロを定義したものなので、あれ
これ変更可能。さらにしかし(ここがいかにもLisp屋のやり方)、変更のやり方
も標準化できれば、言語そのものを改造していくメタプログラミングもやりや
すいよね。というのが、Metaobject Protocol。公的な標準にはなっていない
が、「The Art of the Metaobject Protocol」(略称AMOP)に書いてあることが、
実質的な標準になっている。
ところで、
http://iiyu.asablo.jp/blog/2007/05/11/1501516
本の品切れ。Lispの古本はバブル? 入門書紹介も兼ねたつもり。
で言及した
http://www.amazon.co.jp/exec/obidos/ASIN/0262161362/showshotcorne-22/
Andreas Paepcke編「Object-Oriented Programming: The Clos Perspective」
あれを書いた2007年5月では、「13000円以上する。どういうこっちゃ、こ
りゃ」と書いたが、いま、みたら、中古品3点31,226円よりだって。セドリ業
者とはいえ、ふざけすぎだろう、これ。
あ、
http://iiyu.asablo.jp/blog/2008/11/24/3972714
洋書の値段って不思議
をみると、2008年11月には、43,307円と43,898円だったのね。もっとふざけた
奴らがいたんだ。^^;
筋金入りのコレクターなら別だから、フツー、3万円や4万円も出して買う
ものじゃありません。
関連:
http://iiyu.asablo.jp/blog/2009/10/09/4621325
竹内郁雄『初めての人のためのLISP 増補改訂版』
http://iiyu.asablo.jp/blog/2009/10/14/4631684
がびーん、竹内郁雄『初めての人のためのLISP 増補改訂版』、予約終了(泣)
http://iiyu.asablo.jp/blog/2010/02/19/4890951
Lispの神様 竹内郁雄教授の最終講義。「初めての人のためのLISP 増補改訂版」
http://iiyu.asablo.jp/blog/2010/02/19/4890951
Lispの神様 竹内郁雄教授の最終講義。「初めての人のためのLISP 増補改訂版」
http://iiyu.asablo.jp/blog/2010/03/01/4913323
初めての人のためのLISP[増補改訂版] 、売れまくり\(^O^)/
http://iiyu.asablo.jp/blog/2010/03/03/4917592
続:初めての人のためのLISP[増補改訂版] 、売れまくり\(^O^)/
http://iiyu.asablo.jp/blog/2010/04/02/4989509
bit誌の連載「マルチパラダイム言語 TAO」が公開されている\(^O^)/
http://iiyu.asablo.jp/blog/2010/04/28/5047508
緊急特報!Peter NorvigのPAIPの翻訳「実用 Common Lisp」が出る\(^O^)/
http://iiyu.asablo.jp/blog/2010/05/06/5065468
洋書のAI(人工知能)本。「実用Common Lisp」のことも少し。
http://iiyu.asablo.jp/blog/2010/03/18/4954353
ガベージコレクションのアルゴリズムと実装。洋書ガベコレ本の話題も
http://iiyu.asablo.jp/blog/2007/05/11/1501516
本の品切れ。Lispの古本はバブル? 入門書紹介も兼ねたつもり。
http://iiyu.asablo.jp/blog/2005/09/16/76723
Peter Seibel著「Practical Common Lisp」(Apress)
http://iiyu.asablo.jp/blog/2008/07/18/3633573
Peter Seibel著「実践Common Lisp」
http://iiyu.asablo.jp/blog/2008/08/19/3699006
Common Lisp本「Let Over Lambda」
http://iiyu.asablo.jp/blog/2009/09/02/4555619
The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで
http://iiyu.asablo.jp/blog/2007/01/14/1111083
AMOPはThe Art of the Metaobject Protocolのこと
最近のコメント