Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

オブジェクト指向入門 第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に比べて、どう書けばいいのか、おれ、わかりませ
ん。頭悪いとだめね(泣)。

Re: 将棋ネタ、ボナンザ、理研が被験者募集2007年03月17日 10時09分31秒

ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
ちょっと調べてみたらオセロ(リバーシ)はまだ解き明かされ
ちゃいないのね。

ただ、将棋や囲碁と違って、両者が最善手を打って引き分ける
定石はいくつか発見されているようだし、後手が有利になるの
ではないかという見通しもあるみたい。

実家にあるオセロ盤はいまだに活躍しているらしい。孫を相手
に母親がいい勝負をしているとか。定石とか完全読みとか知ら
ないほうが楽しく遊べるような気はする。

--
つばめどん

==
標題: Re: 将棋ネタ、ボナンザ、理研が被験者募集
---
 olfaさんから。
--- ここから ---
中村様へ。

Show's Hot Cornerを拝見しまして森田オセロが話題になっていたものですか

なつかしい記憶がよみがえりました。

PC-8001で森田オセロを相手に遊んでいましたけれど結局全敗でしたね。
1回だけ四隅を取ったので「こりゃイケる!」と期待したら後半入ってコンピ
ュータが思考1時間(その間に夕飯たべました)、ジリジリ押されて数コマ差
で負けてしまいました。
きっと長時間の思考のときに読み切っていたのでしょうね。
--- ここまで ---

 ぼくはMZ-80Cかな、8bit CPUでクロックが数MHz(GHzじゃない!), RAMが
48KB(MBじゃない!)で、ある作者(名前を失念!失礼)のオセロをやりましたが、
残り10数手くらいから、完全先読みなんですよね。
 だから、その前に負けていたらもう絶対に勝てない。勝っていても何か失敗
したらもう勝てない。
 野球でいえば、相手に絶対的ストッパーがいるので、7回までに負けていた
ら8回9回はパーフェクトに抑えられて負け。だから、野球が9回じゃなくて7回
までの勝負になっているような感じ。
 いまのハードウェアだったら、どれくらい手前から完全先読みできるんでし
ょうね。
 オセロや囲碁や将棋に比べて、変化は少ないし、ゲームが進むにつれ着手で
きるところが減るから、どんどん変化が少なくなりますよね。残り30手くらい
で完全先読みできるんだろうか。
 そうすると野球でいえば、5回までに勝ってないとだめってことですね。^^;
 中原さんから。
--- ここから ---
いつも「ホットコーナ」楽しく拝見しています。

最近将棋の話題が多いですね。私も少しは指しますので、なるほどと思うこと
が多いです。

ところで、将棋の場合、「定石」ではなくて「定跡」と表記するのが通常です。
「定石」は囲碁。IMEの誤変換だろうとは思いますが、老婆心まで。
--- ここまで ---

 中原さん、ありがとうございます。優しいなあ。誤変換じゃなくて、おれの
無知です。
 少しは指すなんて、またまたぁ。ほんとはアマ5段だったりしてね。\(^O^)/
 将棋世界でも、ちゃんと定跡と表記していますね。
 ということで、おれとつばめどんの分、ウェブとブログでは、文脈上、明ら
かに将棋の定跡なら「定跡」、囲碁やオセロのときは「定石」、社会通念上の
一般的定石は「定石」に修正します。
 これをウェブとブログで読むときは、すでに修正済みのはず。