電子書籍の厳選無料作品が豊富!

コンポーネント指向って、どのような理念の元に作られたものですか??

何が聞きたいのかというと、例えばオブジェクト指向に関して。
オブジェクト指向とは、オブジェクトを中心にデーター(フィールド,etc…)、メソッドをまとめクラスで定義したうんぬん…とプログラミング入門書に書いてあります。まぁ、わかるんですが。でも一番素晴らしいなと思ったのは、こんな感じの以下の説明でした。(参考 スッキリわかるJava入門)
オブジェクト指向とは、メモリ上にあたかも実体が存在するように再現すること。つまり、現実世界を模するバーチャルの世界をよりリアルにする手法。
そんな感じの、理念がかかれてました(様な解釈をしました)。
何かロマンチックだなと思いました。メモリ空間上にあたかも命があるようなインスタンスを生成しちゃえる様な夢のある考え方の理念があるなと。

コンポーネント指向も、こんな夢のある話がさらに進化した話なんですか?
それってどんな話ですか?
なんかうまく質問できなくてすみません。

質問者からの補足コメント

  • 注:回答は回答で待ってますw

      補足日時:2016/07/26 04:57

A 回答 (21件中1~10件)

>>オブジェクト指向とは、メモリ上にあたかも実体が存在するように再現すること。

つまり、現実世界を模するバーチャルの世界をよりリアルにする手法。

過去において、オブジェクト指向に対してそんな感じの「大間違い」な説明が多くの書籍でされていました。
メモリ上に作ったクラスとそこから作られる実体(インスタンス)が現実を表現することは無いのですけどね。

ですので、「筆箱」に「ボールペン」を「入れる」という命令が出来ると同様に、「筆箱」に「戦艦大和」を「入れる」命令も可能とするような発想というか、勘違い(害毒)がIT業界と一般企業に流れました。
それで、オブジェクト指向言語であったJavaを過大評価してしまい、みずほ銀行がシステム統合でCOBOLからJavaに移行するために、4000億円を費やしたけど、プロジェクトの完成が絶望という悲劇が生まれました。

>>コンポーネント指向も、こんな夢のある話がさらに進化した話なんですか?

ネットでちょっと検索すると答えが得られますよ。
個人的には、オブジェクト指向を知るよりも、ずっと前から知っていた考え方であり、オブジェクト指向とは無関係です。
    • good
    • 0
この回答へのお礼

その、戦艦大和を入れるとプログラミングしちゃう人はそもそもオブジェクト指向が何たるかを理解できてないのでは…論理的に可能になっちゃうのはなっちゃうのですが。。。そもそも、それはリアルを模してないので、私の解釈したオブジェクト指向の理念に反する。だから問題も起きるのかと。
理念が間違ってるというより、プログラミングのバグなのでは…。
検索したものの今一ピンとこなかったのですよね。。。
回答、ありがとうございました。

お礼日時:2016/07/26 02:47

現実世界を模するバーチャルの世界をよりリアルにする手法 ← 嘘つきな本だな。


オブジェクト指向って、機能(部品)別にクラスと言う概念で作ってその機能(部品)を組み合わせて
アプリケーションを作る手法。その部品を継承して機能を強化する事もあるけど。
ようは、部品毎にプログラミングしておいて組み合わせて使う。後でメンテナンスしやすいとかなんとか。
メモリを余分に使うかも。(忘れた)
メモリ節約するなら、DLL等とか使うけど。まあ所詮だれかさんが考えた手法にすぎない。
JAVA、C#、VB、Delphi、等所詮人が作ったルールでプログラミングしてるだけ。
アセンブラ覚えてC言語おぼえる方がよっぽどPCに詳しくなるし独自コンパイラも作れる。

で、コンポーネント指向はよくわかりません。(どうでもいい)

まあ大勢で作るようなアプリケーションは、オブジェクト単位(コンポーネント単位)で作るんじゃないの?
生産性向上のためかな。そのかわりプログラムより設計が大変そう。

※本当に生産性向上に役立ってるかは知らない。因みにアジャイル開発ってのもあるかも。
    • good
    • 0
この回答へのお礼

本が嘘つきというより、私の記憶がねじ曲がったのかもしれませんが(笑)
部品化…そうですね。手法的にはそうです。。。

何だか中二病的な夢が壊れていくw

回答、ありがとうございましたw

お礼日時:2016/07/26 03:05

>>その、戦艦大和を入れるとプログラミングしちゃう人はそもそもオブジェクト指向が何たるかを理解できてないのでは…



そのとおりで、オブジェクト指向が理解できていないからではありますけどね。
そして、最近の2ch掲示板で、オブジェクト指向関係の書込みを見ていても、オブジェクト指向に対して大きな勘違いをしている人が以外と多いので驚きを感じました。
いちおう「自称」あるいは「プロ」のプログラマっていう方たちが参加しているはずの、しかも十数年前に書かれた過去ログでなく、最近の掲示板の書込みにおいてですからね。

例にあげたものは、極端な例だから、誰もが誤りと分かります。
でも、オブジェクト指向が何でも解決できる「銀の弾丸」と思い込んでいて、それが分からない人が多い。
ちなみに私も、過去において数億レベルの開発費が無駄になったプロジェクトに参加していました。
そのプロジェクトに参加してすぐに、「これはダメだろう・・・」と思ったものですが、途中参戦で、しかも下請けで、何も言えなかった。

>>理念が間違ってるというより、プログラミングのバグなのでは…。

プログラムのバグレベルならいいのですがね。
多くは、オブジェクト指向の理念を間違えている、つまりは根本が理解されてないから被害がでかくなりがちです。
    • good
    • 1
この回答へのお礼

数億が無駄に…。私の本業は全くプログラミングと対称的で、最近入門書を理解した程度で対等に話すのはおこがましいと思いますが。
「銀の弾丸」とは思わない程度に夢抱いときますw

回答ありがとうございましたw

お礼日時:2016/07/26 03:21

夢を壊したくないけど、javaを覚えた頃にはまた新しい言語、開発手法が出てくるかもよ。

笑。
その度、ルール覚えるの大変そう。本当はまず基礎を勉強したほうがよいと思い込んでます。
例:例えばメモリの管理、マルチタスクの仕組み、究極は画面に図を描く仕組み。
  アセンブラで全てできます。USBメモリのブート領域に組み込んでUSB起動とか。
  ブート領域は512バイトと言われてるが、実は違う。まじです。
  BIOSが何してるかとか。詳しくなっちゃう。笑。
  で、windows8からまた電源の制御が違ってるとか。

まあ頑張って。
    • good
    • 0
この回答へのお礼

アセンブラ…よく聞きますが、チンプンカンプンですw
まぁ、私はまだまだまだまだ素人なんで、頑張ります!

お礼日時:2016/07/26 03:43

追伸。



オブジェクト指向をなんでも問題解決できる「銀の弾丸」とはみなさず、開発効率をアップさせる手法のひとつ。ツールボックスに入れる道具の1つというレベルで考えて使えば大きな効果を発揮してくれます。

No.2さんの回答で「その部品を継承して機能を強化する事もあるけど。ようは、部品毎にプログラミングしておいて組み合わせて使う。後でメンテナンスしやすいとかなんとか。」

と書かれているように、最近は、.NET Frameworkなど、そんな感じで機能豊富な部品が使える環境が増えてきています。

そんな便利な「部品」の存在を知り、使い方をマスターしておけば、プロジェクトマネージャが「この機能のプログラムの開発には20日くらいかかるなあ」と見積もっていても、実際には2日くらいでほぼ完成してしまうってこともありました。
「こんな複雑な処理のプログラムが、お手軽、簡単に作れて、しかもバグが無いなんて有り難いなあ」と最近のプロジェクトで感じることが多いです。


ちなみに、「簡単・便利・機能豊富」な部品ってのは、見えないところで沢山のコードが動いているってことです。
プログラムが複雑な処理をする必要があれば、それらの見えないコードは大活躍してくれます。
でも、そんな豊富な機能がいらない処理があるのも現実です。

昨日、「これ、データベースの処理が遅いんだけど・・・」と言われて、その機能豊富な部品を使わないコードに変更したら、1/20くらいの時間で処理が終わってしまい、ちょっと驚きました。
    • good
    • 1
この回答へのお礼

結局、「部品」の構造を理解してる人が強いのはどの世界でも一緒ですね!

頑張ります!ありがとうございました!

お礼日時:2016/07/26 03:41

夢を壊したくない。

笑。
「アセンブラ…よく聞きますが、チンプンカンプンですw」←アセンブラほど簡単な言語ないぞ。
メモリ番地、2進数、16進数が分かれば。それ理解できたらC言語が楽生なる。(ポインタが理解できるこれ大事)
.NET Frameworkを使っても、C言語でしか出来ない事もある。まじです。
部品使ってバグったとき探すの大変。継承の継承の継承とか。笑。

※まあ期待してるよ。
    • good
    • 1
この回答へのお礼

アセンブラ…まだ触ってないので機会があれば少し見てみますw

お礼日時:2016/07/26 04:56

夢を壊したくない。

笑。
windowsの容量知ってるよな。

う○こかwindowsって思えてくる。
自称オープンソースのLinux、う○こかって思えてくる。
イーサネット、TCP/IP、なんちゃら階層とか、う○こかって思えてくる。


※まあ気にせず頑張れ。
    • good
    • 0
この回答へのお礼

Windowsしか触ったこと無いです←ぉ

お礼日時:2016/07/26 04:57

まだ触ってないので機会があれば少し見てみますw ← 今日から見なさい。


夢は邪魔したくない。まじ。

✳徹夜で無理しろ。
    • good
    • 0

よく見たら、お礼言葉の最後のw 。


windowsのwだったんだ。涙。

✳努力は報われま
    • good
    • 0

本当は、アセンブラより2進数でプログラム


組めたほうが良い。
まじ。

✳期待を裏切らないから。キミは。
    • good
    • 0
この回答へのお礼

11000001111110 11000001001011 11000001011011 11000001101000 11000001010001

お礼日時:2016/07/26 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!