K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>そして、[651] をちょっと補足。 > >>>こっちの考え方は、突き詰めると数学や論理学の知識が必要になってしまうので、 >>>実装面ほど簡単ではありません(私も勉強したいのですが、それらベースと >>>なる知識が足りないため足踏みしています)。 > >>実装面べたべたで行くと、抽象度の高い設計ができずに後ではまるといった >>問題があるのかもしれませんが、実装を離れて理論で突っ走っても、結局変なことに >>なってしまうように思います。月並みですがバランスが大事、ということでしょうか。 > >設計段階においてはその通りです。 >ただ、ソフトウェアは「設計」「実装」の2段階ではなく、その前に「分析」を加えた3段階で作られます。そして、(本来は)分析なくして設計はなく、設計なくして実装はありえません。 >実装の方が触るのは容易なので、実際には「実装→設計→分析」とスキルアップしていくケースが多いのでしょうか。 >たぶん「分析」ができないと、オブジェクト指向の真髄を知ったとは言えないだろうなぁ、と思うわけです(実装だけ知っていれば、「オブジェクト指向プログラミング」は極められるかもしれませんが、「オブジェクト指向」を極めるにはそれだけでは足りません)。 >当初のタイトルは『オブジェクト指向「初」入門』ですが、これはつまり『オブジェクト指向プログラミング「初」入門』ということですよね。 >分析入門もあればいいのになぁ…と思いつつ、最近こんな本を読んでいたり。 > >http://www.sra.co.jp/people/aoki/IntroductionToOOAOOD/ > >ただ、「分析」を行うには、論理学を知っていたほうがいいのはあるかもしれませんが、[651] で意図したのはそういうことではありません。 >「オブジェクト指向」そのものの数学的、論理学的意味についてです。 >たとえば、クラスは分類だと言いましたが、数学的に言えば、クラスはオブジェクトの集合です。派生クラスは部分集合で、多重継承は積集合で…なんて数学の知識は、実務では分析レベルでもそうそう必要ない気がします。 >もっと突っ込むと、群論とか圏論といった、ムズカシイ数学が出てきます(勉強したいのですがさっぱりわかりません)。 >ちなみに、圏論には「オブジェクト」「クラス」「モルフィズム」というような用語が登場します。…なんとなくオブジェクト指向チックですよね? >こういう方面から攻めるのも併用すると、より理解が深まるんじゃないかな、ってことです。
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!