「オブジェクト指向1」の編集履歴(バックアップ)一覧はこちら
「オブジェクト指向1」(2006/01/01 (日) 23:29:51) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
オブジェクト指向、というプログラミングパラダイムが現れて久しいわけですが、いまだに「オブジェクト指向」って根付いていない気がするんですよね。
JavaやC++/C#が使えたらオブジェクト指向でプログラミング出来ているか、というとそうでもないし。それらの言語はオブジェクト指向な「書き方が出来る」言語であって、それらを使えば自動的にオブジェクト指向のプログラミングが出来るわけではないし、逆にC言語やアセンブラではオブジェクト指向プログラミングが出来ないかといわれると、そうでもないと思うのです。
「オブジェクト指向」とは、あくまで、プログラミングパラダイムの一種だ、ということです。
オブジェクト指向というのがどういう考え方か、なんていうのは世にいろんな本が出ているわけで、いまさらここで私が述べるべきことってないと思います。ただ私がひとつだけいえるのはあくまでそれはプログラミングの方法論であって、例えばそれまでの構造化プログラミングと比べて優れている、などということはない、ということです。
確かに、オブジェクト指向プログラミングには、さまざまな利点があります。大まかに言うと
①プログラムの構造が把握しやすい(図示などが容易)
②コードの拡張性・再利用性が高い
あたりが大きいのではないでしょうか。
これらは確かに大きな利点ではあるのですが、これらの利点が生かされる局面というのは大規模な開発に限定されると思うのです。小規模な開発においては、オブジェクトという抽象的名概念によって余計にシステム全体の見通しが悪くなったりしてしまいます。
つまり、オブジェクト指向プログラミングの使いどころとしては、具体的な処理をいちいち把握できないような大掛かりな場面において、抽象的な「オブジェクト」という単位で状態および機能を把握する、という使い方です。
何でもかんでも「オブジェクト指向だ」ではなく、ターゲットに応じたパラダイムの選択肢の一つ、と考えたほうが正しいと私は思います。
表示オプション
横に並べて表示:
変化行の前後のみ表示: