- - PR -
なぜオブジェクト指向を使うのか?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-28 15:18
>はにまる様
お見事。(笑) | ||||||||||||
|
投稿日時: 2004-01-28 15:24
ども。がるです。
そういえば「書き込んでないなぁ」と思いまして。 えらい遅くなりましたが ^^;
思いますねぇ。わりと常々(笑 ただ、それら「他の」手段と比較して、オブジェクト指向で 持っていったほうが「よりいっそう楽になる」ことが多いのも また私の実感ではあります。
「ソフトウェア業界」としての話をしてしまうと。 まぁ正直なところ「銀の弾丸候補」だったように思います。 現実、ンなに都合のよいものではないのですが。 結局のところ、常に「生産性・再利用性・保守性の向上」は大きな 命題で、それに対する銀の弾丸はいつでも要望があるって ところなのだろうなぁ、と、ちとシニカルに :-P ただ、そうは言っても「美味しい所をつまむと結構いける」 ので私はOOを愛用していますが。 で。結構悩むのが、じつはここ。
私が思うに、OOは確かに便利なのですが、それはある程度 プログラムとか設計とかやってるから理解できるものであって。 言い方を変えると「苦労したから楽であることがわかる」のだろう、と。 そこから逆算するに、初心者を納得させるすべが、じつは どうもぴんとこないんですね ^^; なんていうか「mainだけのベタで1万行以上のCソース」とか を読まされて保守して地獄を見た後に、とかだと、OOが 天国からの福音のように感じるのですが :-P # ちなみに実話。同じく「VBでベタ2万行ちょい」ってのもある。 # スパゲティーPerl 2000行ってのもかなりイヤでした ;; 私にとってOOって「便利な道具」で。 ただそれは「苦労してたから便利であることに気づいた」 ものでもあるので。 結局のところ「必要だから使ってる」以上、まず大切なのは 「必要になること」のような気もします。 なので、個人的にオブジェクト指向を教えるときは ・まず苦労させる ・で「楽な」解決方法があることを教える というステップを踏みます。そうするとみんな興味がわく らしいので(笑 | ||||||||||||
|
投稿日時: 2004-01-28 15:25
unibon です。こんにちわ。
パクりました。 未経験者 「オブジェクト指向って言葉を聞いたのだが、そんなにダサいのか?」 経験者 「どの言語でもデータの変数てありますよね?」 未経験者 「ああ、それが?」 経験者 「変数使わずに開発を考えられますか?」 未経験者 「そりゃ無理だろ!」 経験者 「変数を使うのにいちいち命令文を定義しないといけないんですよ。ダサいと思いません?」 未経験者 「そりゃダサい!」 経験者 「オブジェクト指向(言語)は、常にそれが要るんです!」 「変数にアクセスするのにいちいち命令文を作って変数との対応を考えておかなければならないなんて信じられない状態になりますよ!」 未経験者 「ダッさーーー!」 (まだ未練を持って食い下がる場合は、下へ続行) 未経験者 「それ、今の部品化と一緒じゃねーか?」 経験者 「でも、枠組み自体は、テンプレート化し、 テンプレートをコピーして穴埋めする形を取っていますよね?」 未経験者 「ああ、それが?」 経験者 「そのテンプレート自身もプログラムの部品として作っておかなくてはならなくて、 そのために継承関係もいちいち考えて、インターフェースとクラスを定義してやっと 現作業で、穴埋めしている部分をその引数として渡す事が出来るんです。」 未経験者 「ダサそうだね...」 経験者 「開発途中や検証中に、テンプレートの不備や改善点って出てきませんか?」 未経験者 「当り前!事前に必要な物が全て解る訳が無い!」 経験者 「テンプレート自体が、プログラム部品なので その部品を直すと、部品から派生した全プログラムに影響を及ぼしてしまい手が付けられなくなるんです。」 未経験者 「ダッサーーー!」 | ||||||||||||
|
投稿日時: 2004-01-28 15:32
るぱんです。
>unibon様 イケてる。(激笑) | ||||||||||||
|
投稿日時: 2004-01-28 15:38
はにまるです。
>unibon様 相当笑えました!美味い! ←こいつ不気味 確かに、長所短所は表裏一体ですね! | ||||||||||||
|
投稿日時: 2004-01-28 22:22
>言葉の意味論になってくるかもしれませんが、
>「Object-Oriented」=「オブジェクト指向」ですよね。 >指向する=目指すとかって意味と捉えています。 #別に目指してるわけじゃない. >以上の前提に立って考えた時に、 >「んじゃ、なんで目指してるんだよ!」ってな話になると思うんですけど、 だから, 「オブジェクト指向プログラミング」 とかで,一つの専門用語なんです. virtual memory,virtual machine,virtual reality. 同じ"virtual"でも,それぞれ意味が異なります. EPROMとCD-ROMは同じ「ROM」ではあるが,かなり異なる物です. それこそRISCやVLIWの様な例もあります. "Formula Translation","List Processor"もそうですかね. コンパイラ,インタプリタ,アセンブラだってそうかな? 「オブジェクト指向プログラミング」なども,それらと同様. 素人が無い知恵絞って言葉遊びをやっても,本質は見えてきませんよ. ---- floppy disk/Hard Diskを忘れてました. どれほど硬いfloppy diskがあったとしても,それはハードディスクではないんですよ. 「メモリースティック」とか「コンパクトフラッシュ」とか,この手の単語なんて IT業界ならいくらでもあります. [ メッセージ編集済み 編集者: 悪夢を統べるもの 編集日時 2004-01-29 01:11 ] | ||||||||||||
|
投稿日時: 2004-01-28 23:08
悪夢を統べるものさんの投稿と内容がかぶりますが、
るぱんさん
日本語では、オブジェクト指向と名詞っぽく感じてしまいますが、正しくは形容詞です。 なので、後ろに分析なり、設計なり、プログラミングなり、言語なりをつけて、一つの用語となります。 # オブジェクト指向、と名詞的に使われるとなんか変な感じがする。 | ||||||||||||
|
投稿日時: 2004-01-29 08:23
virtual=「厳密にいえば違うが人から見れば似たようなもの」 ROM=「読み出し専用記憶」と抽象化すればおなじものでしょう。 折角のOOの話題なのだから物事を抽象化して考えた方が・・・ ところで、virtualを「仮想」って訳し始めたのは何が端緒なのでしょう。 They are virtually divorced. (あそこの夫婦はもう離婚したも同然だよ) みたいなのが元々の使い方だと思うんですけど、いったいどこから「仮想」が? |