- - PR -
なぜオブジェクト指向を使うのか?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-26 21:00
まぁ思いつきでたらたらと書いたんで・・・。(^^; もっと本質を書くと「いかに楽にプログラムを書くか」だと思います。 みんな楽したいんですよねぇ〜。 でも、最近はオブジェクトが複雑に成って、使う事が難しくなって来ている事が 表題の様な疑問に成っているんでしょう。(本末転倒してますよね) ただ初心者の方に言いたいのは、オブジェクト指向を覚えるんじゃなくて使う事です。 思想や背景の理解も必要ですが、オブジェクトを使ってプログラムを楽しんで欲しいですね。 | ||||||||
|
投稿日時: 2004-01-26 22:00
確かにOOそれ自体の本来の目的ではないでしょうけど、「理解しやすく」「変更に強く」「保守しやすい」も 結局は「安全な(バグの少ない)」を目的とした手段の一つにすぎないと思うのですが。 最終的に目指してるのはシステムの安定稼動ですよね。 そういう意味ではNishizakaさんのおっしゃってることももっともな話だと思いますよ。 広くとるか狭くとるかの違いなだけのような気がします。 とはいえ、確かにこのスレッド的には広くとりすぎな感は否めませんが、 まあ、これもアリではないでしょうか(笑) | ||||||||
|
投稿日時: 2004-01-26 22:09
unibon です。こんにちわ。
私もシミュレーションになぞらえるのがシックリ来ると思います。しかし、これがオブジェクト指向の利点であると同時に欠点(と言うか弱点)であるとも思います。 と言うのも、シミュレーションするためには対象となるモデルの存在が前提となり、そのモデルはすなわち科学法則から成り立ちます。しかし、ソフトウェアにはそのモデルが最初はありません。設計者が創造者になって作り込む必要があります。しかもその際に、科学法則のような単純さとは程遠い、矛盾だらけの泥臭い要求仕様から作り込まなければなりません。要求仕様は入出力(と処理内容)で規定されることが多く、いわゆる IPO(Input-Process-Output)ベースですが、これを制約条件としてそこからモデルを作るのは骨が折れます。科学者が実験結果から科学法則を発見するようなものです。 そこまで苦労するよりは、オブジェクト指向にあまりこだわらずに IPO のままで作り上げたほうが良い場合もあると思います。逆に言えば、要求仕様が素直ならばオブジェクト指向の利点が活きてくると言えます。 | ||||||||
|
投稿日時: 2004-01-26 22:41
>まぁオブジェクト思考(指向)に付いては、まだまだ未完成な感じがしますし、
>議論百出だと思います。 ちょっと待ってください. あくまで「オブジェクト指向」であって,「オブジェクト思考」は間違いですよね?? ジョークならいいのですが,たまに本気で間違えてるんじゃないかという 入門書があったりするので,念のため. さらに言えば,「オブジェクト指向プログラミング」や「オブジェクト指向設計」 などでひとまとまりの単語なのであって,「オブジェクト指向」だけでは ほとんど意味を成さないと思われます.もちろん暗黙に「オブジェクト指向プログラ ミング」の略称と見なすことも可能ではありますが. | ||||||||
|
投稿日時: 2004-01-26 23:28
まぁこれも色んな考えがあって、思考と指向等、辞書の結果をみてどう思います? 一般的には「指向」と「思考」どちらも良く使われてはいるのですが(書籍は思考が多い) 私としては「思考」の方が、哲学的な考えで正解では無いかなぁと思っています。 | ||||||||
|
投稿日時: 2004-01-27 00:04
ええと、一般の「指向」と「思考」を比較することはここでは避けたほうが よいと思いますが。 言葉遊び的で雑談してる分には面白いんですけど、議論してる人の中で 共有できる概念が発散すると収拾がつかなくなります。 そもそもObject-Orientedの訳語がオブジェクト指向なわけで、orientedには 思考するといったような意味はないです。 | ||||||||
|
投稿日時: 2004-01-27 01:26
こんばんは。
これは、誤認識と思います。当時はDOSの時代ですから手続き的プログラミングの限界が 問題になっていた訳では無いでしょう。学術的には人工知能が盛んに研究されていた 頃で、これらの研究の過程からオブジェクト指向が出てきたたと思われます。 一般的な分野にオブジェクト指向を持ち込むきっかけはマルチウィンドウでしょう。 さまざまな部品が登場してAPI が複雑になりすぎた。これを解消するため、Smalltalk 等からアイデアを借りクラスライブラリを構築した。こんなところでしょうか? | ||||||||
|
投稿日時: 2004-01-27 06:41
>>あくまで「オブジェクト指向」であって,「オブジェクト思考」は間違いですよね??
>まぁこれも色んな考えがあって、思考と指向等、辞書の結果をみてどう思います? >一般的には「指向」と「思考」どちらも良く使われてはいるのですが(書籍は思考が多い) >私としては「思考」の方が、哲学的な考えで正解では無いかなぁと思っています。 ということは,本気で間違えてか,或いは知らなかったってことですね. >そもそもObject-Orientedの訳語がオブジェクト指向なわけで、orientedには >思考するといったような意味はないです。 ということです. だからこそ「オブジェクト指向言語」の「オブジェクト指向」だけを切り取るのが 無意味なんです."Object-Oriented sth"であって,"Object-Orient"とかは普通は 言いませんよね. |