OOP

インターフェイスを濾しとりたい

OOP

静的型付けなOOPでは、継承は「差分プログラミング」の側面と「サブタイピング」の側面があります。あるクラスを継承するとき、それがポリモーフィニズムのために行うのか、差分プログラミングのために行うのかを意識していないと、すぐワヤになってしまいま…

ソフトウェアと抽象化技法

いつからabstraction が『抽象化』になってしまったんだろう - カレーなる辛口Javaな転職日記めずらしくJavaBlack さんの言っていることがよくわからなかったです。「abstraction」はいつから抽象化かって元からじゃん、OOP イコール ADT じゃないよね、とか…

カスケードメッセージに対する戯れ言

昨日のつづき。カスケードメッセージが許せて、パイプが許せない感覚ってなんだろう、というの。カスケードメッセージは、「目標に向かってメッセージ砲を、ってぇ!!」みたいな感じだからアリ。レシーバのロックオンシステムです。左舷の弾幕が薄かったり…

「呼出し元の共通化」という言い回し

OOP

突っ込みどころが違うってば - カレーなる辛口Javaな転職日記 より連想。 OOP にするとどんなメリットがあるかわからないという話について。私は流しのプログラマなので、現場の「はじめてのOOP」にお付き合いすることが多いのですが、エライ人中心に「で、O…

JavaBlackで始まるあの人の意見を私も聞きたい

JavaBlackで始まる名前のあの人の意見をききたいと思った(敬称略) - 神様なんて信じない僕らのためにさん経由http://www.kt.rim.or.jp/%7ekbk/zakkicho/07/zakkicho0708b.html#D20070815-3さん。 このたび、仕事で初めてC++を前提にした設計をすることにな…

猫のオブジェクト指向プログラミング

OOP

わかりやすい OOP のテキストを書くのにチャレンジしたいとは前々から思っていたのですが、浅学と実力の無さとで手に負えないと怖じ気づいてもいました。でも、何もしないではどうにもならないので、この blog 上で少しづつアイデアだけでも書いていこうかな…

猫のOOP心理地図

OOP

sumim さんの すばらしいコンテンツに啓蒙されて、もはや OOP は一枚板に見えなくなっています。 オブジェクト指向プログラミング オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smalltalkのtは小文字です これらコンテンツはオブジェクト指向プロ…

オブジェクト指向入門第二版

OOP

買いました。英語がダメダメな猫は 本当に首をなが〜〜〜〜〜〜〜くして待ってたので、うれしさもひとしお。しっかし、重くって読むのも大変。腕が釣りそうだよう(whttp://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%8…

歯車機械と OOP

OOP

LOGOのパパート先生は「歯車マニア」です。子どものころから歯車に魅せられたパパート先生は、かけ算九九の表を歯車で考えてみたり、2変数方程式に初めて出会ったときは即座に作動装置を連想しちゃったそうです。そんなエピソードをマインドストームで読ん…

メッセージメタファ有害論は有害か

OOP

調子に乗って 3本目。メッセージメタファは、何かと「解りにくいOOPの解説」として槍玉にあがりがちなのですが、そう言うの場合、カプセル化や擬人化の説明として取り上げられ、メッセージメタファがポリモーフィズムを上手に説明しているという点はあっさり…

それでも OOP は難しい

OOP

それでも OOP が難しい印象を受けるのは、やっぱり「クラス」が難しいからかしら。404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス非常に共感を覚えます。「オブジェクトは易しい。クラスは難しい。」本当にその通りだわ。OOPの難しいところ…

OOPのうれしさ

OOP

丁度今、お仕事でとあるシステムの設計をしています。「どんな感じ?」と聞かれたので「こんな感じ!」と説明するために ホワイトボードを使ってちょっとした即興プレゼンしました。口で説明しながらサッサカかいたいい加減な絵なのだけれど、見ての通り ま…

なぜ "static" メンバと呼ぶか

OOP

ALGOL の基本的な構造化エンティティはブロックです。Cで言えばブレス「{}」で囲まれたアレですね。ブロックには幾つかのデータ定義が含まれ、その後ろにデータを操作するコードが続きます。ブロック内でローカル変数を宣言することによって、活性化レコード…

static method != class method ?

OOP

続・大人の事情 - みねこあから続く。http://d.hatena.ne.jp/odz/20061012/1160671348#c より、 閑話休題。 id:minekoa さんは Python も使うらしいので、python での class method(レシーバがクラスであるメソッド)、 static method(レシーバの存在しないメ…

大人の事情

OOP

id:ord さんからトラックバックをいただいた。プログラミング系の日記には初めてで、実はかなりうれしい。http://d.hatena.ne.jp/odz/20061012

続・大人の事情

OOP

実は、↑の日記は1時間ばっかり別の内容を曝していたのだけれど。あんまりにも酷いんで書き直していたら、 えと、なんか書き直し中みたいですが、書き直し前のを見ちゃったのでとりあえず、別の勘違いを指摘しておく。 意地悪だ。見なかったふりして欲しかっ…

なぜ人はオブジェクトの中身を忘れることが出来ないのか

OOP

「カプセル化」などと念仏を唱えながら、何故人はオブジェクトの中身を忘れることができないのでしょうか。関数インスタンスもクラスインスタンスも、プログラムを構成するための構造化エンティティ*1です。 *1:「構造化エンティティ」という語を知ったのは…

「クラスとは何か」を優しく教える方法

OOP

クラスとは何か、を入門者にも優しく教えるにはどうしたら良いんでしょうかね〜。抽象データ型経由で教える、と言うのも一つの手だと思うのです。

OOP学習の良書はSqueakです

良い師匠なら運任せしかないのですが、良書ならあたしにも一つお勧めがあって、それは Squeak という名前のダイナミック・ドキュメントです*1。読んで良し、書いて良し、動かして良しですよ♪先のクラスとインスタンスの違いのお馬鹿さんにしたって、クラスも…

クラスはオブジェクトであると言い切れない大人の事情

カレーなる辛口Javaな転職日記さん経由、初心者がJavaを“超高速”で学ぶためのコツ | 日経 xTECH(クロステック)。久しぶりに酷すぎる記事を見て呆然。なんですか、これは。これが日経ソフトウェア2005年2月号に記事だというから、かなり憂鬱。Cマガジンが無…