オブジェクト指向入門 第2版再読 ― 2007年03月17日 00時39分07秒
ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
http://iiyu.asablo.jp/blog/2007/01/20/1126599
オブジェクト指向入門 第2版
http://iiyu.asablo.jp/blog/2007/02/20/1197119
オブジェクト指向入門 第2版(その2)
で紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/4798111112/showshotcorne-22/ref=nosim
バートランド・メイヤー著, 酒匂寛訳「オブジェクト指向入門 第2版 原則・
コンセプト」
昼休みなど時間が余ったときにちょこちょこ読んでる。第2版だが再読とい
うことになる。
読むと20年前と違って、すいすいわかるね。
少しはおれも成長してるじゃん。\(^O^)/
20年でたったそれだけかよって感じだけどね。
特に問題意識はよくわかる。実際に仕事としてソフトウェア開発を長くやっ
ていると、設計や品質管理などで、どうしてだめなのか、何が足りないか、何
が必要かなどというのが、昔と違って、自らの体験、経験として頭じゃなくて
体でわかってるから、すこすこ読めちゃう。
それにしても、こんなに徹底していたかなあ。もう原理原則、言葉の定義か
ら、みっちりですね。
メイヤー先生が設計した、Eiffelは、ホーア流の意味論をプログラミング言
語に必須のものとして取り入れていたことで有名ですが、その手法は、「契約
による設計(Design By Contract(DBC)」として有名です。
20年前は、実際に動かせる無料の処理系なんかなかったけど、いまはありま
すね。いや、ほんといい時代。
日本のWikipediaのEiffelに関する記述は、しょぼくって、しかも、Sather
をEiffelをベースにCを取り入れたなんておかしなことが書いてあったので意
見をつけておきましたが、英語Wikipediaの記述はいいですね。
SatherはC化じゃなくて、関数型言語化したものなんですよね。おれ的には
シンタックスはともかく、心はLisp化したEiffelといいたいところだけど。^^;
http://en.wikipedia.org/wiki/Eiffel_(programming_language)
これやECMAの言語仕様書をみると、Agentなんてのが入っているんです。昔、
なかったでしょう? これ、Lispのクロージャですね。やっぱ、だんだんそう
なるのか。^^;
実装は、Wikipediaの最後のリンクにいろいろありますが、メイヤー先生の
会社
http://www.eiffel.com/
Eiffel Sfotware(昔は、 Interactive Software Engineering(ISE)という会社
でした)
も、オープンソースで使うなら無料でいいよというEiffelの実装も配ってます
ね。
Emacs頼みじゃない統合環境なのが太っ腹ですね。
http://eiffelsoftware.origo.ethz.ch/index.php/Main_Page
EiffelStudio Integrated Development Environment
いまやECMAにもISOにもなってるんですね。知らなかった。どちらも同じ仕
様です。だから、ECMAの仕様をダウンロードして読めばいいです。中身は同じ
でレイアウトが違うなんてことが書いてあります。
で、面白いのが、
http://smarteiffel.loria.fr/
Smart Eiffel
というオープンソース実装の態度。
ECMAやISOの標準仕様のEiffelを実装したくないと。なぜなら、Eiffelらし
さがなくなっていくと。だんだん実用になれば汚くなっていく。あのピュアな
青春を失いたくないという気持ちなんでしょうかね。^^;
DBCですが、メイヤー先生は理論屋でもあるので、仕様記述や意味論の本も、
昔、書いています。
原書は、
http://www.amazon.com/Introduction-Programming-Language-English-Teaching/dp/0134985028/
Bertrand Meyer著「Introduction to the Theory of Programming Language」
です。翻訳が出てたような気がして調べたら、やはり、酒匂さんの訳でありま
すね。
http://www.amazon.co.jp/exec/obidos/ASIN/4756103170/showshotcorne-22/ref=nosim
バートランド・メイヤー著, 酒匂寛訳「プログラミング言語理論への招待―正
しいソフトウェアを書くために」
ですね。
ぼくのブログにある仕様記述の話は、
http://www.google.com/custom?domains=iiyu.asablo.jp%3Bwww.asahi-net.or.jp&q=%8Ed%97l%8BL%8Fq&sa=%8C%9F%8D%F5&sitesearch=iiyu.asablo.jp&client=pub-8265382438304350&forid=1&ie=Shift_JIS&oe=Shift_JIS
で検索してみてください。
で、DBCのこと。
http://en.wikipedia.org/wiki/Design_by_contract
をみたら、いろんな言語でなんとかしようとやってるのね。
Perlのなんか、全然別のシンタックスのようですね。^^;
個人的に面白いと思うのは、SatherとLispですね。
http://www.icsi.berkeley.edu/~sather/
Sather
は、前述のようにEiffelベースですから、DBCをやれるのは当然ですね。
http://www.muc.de/~hoelzl/tools/dbc/dbc-intro.html
Common LispによるDBC
は、CLOS(Common Lisp Object System)のdefclassやdefmethodをマクロで再定
義してますね。例外のハンドリングなども含めて、たったこれくらいでできち
ゃうものなんですね。頭いい人はいいなあ。
PLT Scheme(Dr. Scheme)にもあるというから探したら、
http://download.plt-scheme.org/doc/360/html/mzlib/mzlib-Z-H-12.html
ですね。
でも、Common LispのDBCに比べて、どう書けばいいのか、おれ、わかりませ
ん。頭悪いとだめね(泣)。
---
http://iiyu.asablo.jp/blog/2007/01/20/1126599
オブジェクト指向入門 第2版
http://iiyu.asablo.jp/blog/2007/02/20/1197119
オブジェクト指向入門 第2版(その2)
で紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/4798111112/showshotcorne-22/ref=nosim
バートランド・メイヤー著, 酒匂寛訳「オブジェクト指向入門 第2版 原則・
コンセプト」
昼休みなど時間が余ったときにちょこちょこ読んでる。第2版だが再読とい
うことになる。
読むと20年前と違って、すいすいわかるね。
少しはおれも成長してるじゃん。\(^O^)/
20年でたったそれだけかよって感じだけどね。
特に問題意識はよくわかる。実際に仕事としてソフトウェア開発を長くやっ
ていると、設計や品質管理などで、どうしてだめなのか、何が足りないか、何
が必要かなどというのが、昔と違って、自らの体験、経験として頭じゃなくて
体でわかってるから、すこすこ読めちゃう。
それにしても、こんなに徹底していたかなあ。もう原理原則、言葉の定義か
ら、みっちりですね。
メイヤー先生が設計した、Eiffelは、ホーア流の意味論をプログラミング言
語に必須のものとして取り入れていたことで有名ですが、その手法は、「契約
による設計(Design By Contract(DBC)」として有名です。
20年前は、実際に動かせる無料の処理系なんかなかったけど、いまはありま
すね。いや、ほんといい時代。
日本のWikipediaのEiffelに関する記述は、しょぼくって、しかも、Sather
をEiffelをベースにCを取り入れたなんておかしなことが書いてあったので意
見をつけておきましたが、英語Wikipediaの記述はいいですね。
SatherはC化じゃなくて、関数型言語化したものなんですよね。おれ的には
シンタックスはともかく、心はLisp化したEiffelといいたいところだけど。^^;
http://en.wikipedia.org/wiki/Eiffel_(programming_language)
これやECMAの言語仕様書をみると、Agentなんてのが入っているんです。昔、
なかったでしょう? これ、Lispのクロージャですね。やっぱ、だんだんそう
なるのか。^^;
実装は、Wikipediaの最後のリンクにいろいろありますが、メイヤー先生の
会社
http://www.eiffel.com/
Eiffel Sfotware(昔は、 Interactive Software Engineering(ISE)という会社
でした)
も、オープンソースで使うなら無料でいいよというEiffelの実装も配ってます
ね。
Emacs頼みじゃない統合環境なのが太っ腹ですね。
http://eiffelsoftware.origo.ethz.ch/index.php/Main_Page
EiffelStudio Integrated Development Environment
いまやECMAにもISOにもなってるんですね。知らなかった。どちらも同じ仕
様です。だから、ECMAの仕様をダウンロードして読めばいいです。中身は同じ
でレイアウトが違うなんてことが書いてあります。
で、面白いのが、
http://smarteiffel.loria.fr/
Smart Eiffel
というオープンソース実装の態度。
ECMAやISOの標準仕様のEiffelを実装したくないと。なぜなら、Eiffelらし
さがなくなっていくと。だんだん実用になれば汚くなっていく。あのピュアな
青春を失いたくないという気持ちなんでしょうかね。^^;
DBCですが、メイヤー先生は理論屋でもあるので、仕様記述や意味論の本も、
昔、書いています。
原書は、
http://www.amazon.com/Introduction-Programming-Language-English-Teaching/dp/0134985028/
Bertrand Meyer著「Introduction to the Theory of Programming Language」
です。翻訳が出てたような気がして調べたら、やはり、酒匂さんの訳でありま
すね。
http://www.amazon.co.jp/exec/obidos/ASIN/4756103170/showshotcorne-22/ref=nosim
バートランド・メイヤー著, 酒匂寛訳「プログラミング言語理論への招待―正
しいソフトウェアを書くために」
ですね。
ぼくのブログにある仕様記述の話は、
http://www.google.com/custom?domains=iiyu.asablo.jp%3Bwww.asahi-net.or.jp&q=%8Ed%97l%8BL%8Fq&sa=%8C%9F%8D%F5&sitesearch=iiyu.asablo.jp&client=pub-8265382438304350&forid=1&ie=Shift_JIS&oe=Shift_JIS
で検索してみてください。
で、DBCのこと。
http://en.wikipedia.org/wiki/Design_by_contract
をみたら、いろんな言語でなんとかしようとやってるのね。
Perlのなんか、全然別のシンタックスのようですね。^^;
個人的に面白いと思うのは、SatherとLispですね。
http://www.icsi.berkeley.edu/~sather/
Sather
は、前述のようにEiffelベースですから、DBCをやれるのは当然ですね。
http://www.muc.de/~hoelzl/tools/dbc/dbc-intro.html
Common LispによるDBC
は、CLOS(Common Lisp Object System)のdefclassやdefmethodをマクロで再定
義してますね。例外のハンドリングなども含めて、たったこれくらいでできち
ゃうものなんですね。頭いい人はいいなあ。
PLT Scheme(Dr. Scheme)にもあるというから探したら、
http://download.plt-scheme.org/doc/360/html/mzlib/mzlib-Z-H-12.html
ですね。
でも、Common LispのDBCに比べて、どう書けばいいのか、おれ、わかりませ
ん。頭悪いとだめね(泣)。
コメント
トラックバック
_ ホットコーナーの舞台裏 - 2008年08月05日 09時28分01秒
ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
いまどき、Smalltalkでオブジェクト指向プログラミング(OOP)を正攻
---
いまどき、Smalltalkでオブジェクト指向プログラミング(OOP)を正攻
_ ホットコーナーの舞台裏 - 2008年08月06日 08時30分54秒
ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
http://iiyu.asablo.jp/blog/2008/08/05/3674184
Smalltalkで学ぶオブジェクト指向
---
http://iiyu.asablo.jp/blog/2008/08/05/3674184
Smalltalkで学ぶオブジェクト指向
_ ホットコーナーの舞台裏 - 2008年09月02日 06時22分15秒
ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
http://iiyu.asablo.jp/blog/2008/08/06/3675361
バートランド・メイヤー「オブ
---
http://iiyu.asablo.jp/blog/2008/08/06/3675361
バートランド・メイヤー「オブ
_ ホットコーナーの舞台裏 - 2008年09月20日 06時12分01秒
ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
http://iiyu.asablo.jp/blog/2007/03/17/1284884
オブジェクト指向入門 第2版再
---
http://iiyu.asablo.jp/blog/2007/03/17/1284884
オブジェクト指向入門 第2版再
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
※投稿には管理者が設定した質問に答える必要があります。