SSブログ

「オブジェクト指向プログラミング」について(その1) [プログラミング]

助手: 博士,コンピュータの分野で「オブジェクト指向プログラミング」という「宗教」が盛んだと聞きましたが。

博士: 恐ろしく唐突な導入部だな。確かにキミのいうとおり,ソフトウェア開発者の間では「オブジェクト指向プログラミング」は必須の知識だが,宗教というのは言い過ぎではないかな。「オブジェクト指向プログラミング」が多くのソフトウェア開発者の心を掴んだのは事実だが,「オブジェクト指向プログラミング」が単なるプログラミング「手法」の一つに過ぎない点をはき違えてはいかん。

助手: そうすると,「オブジェクト指向プログラミング」はプログラミングテクニックのようなものだと理解していいんでしょうか。

博士: とのとおりじゃ。人類の歴史では優れた手法やテクニックの類は「社会」を大きく変革することがあり,この意味では「オブジェクト指向プログラミング」がソフトウェア開発「業界」を変革したと言っても言い過ぎではなかろう。しかしそれは,「社会」や「業界」がこうした変革を欲していた時期であったという見方もでき,歴史の流れにつられて「オブジェクト指向プログラミング」という手法自体を過大に取り扱っては,かえって理解の妨げになる。以下では,こういう立場で「オブジェクト指向プログラミング」というプログラミング「手法」について解説してみたい。助手: わかりました。それでは早速,「オブジェクト指向プログラミング」とはどういうプログラミング「手法」なんでしょうか?

博士: これから「オブジェクト指向プログラミング」についていろいろ語っていこうというときに,なんたる直球の質問じゃ。まるで推理小説をおしまいから読んでいくかのようではないか。

助手: すみません。しかし,これからの博士の長いウンチクを考えたら,早い段階で大づかみの概念をイメージしたかったものですから。。。

博士: 長いウンチクとは無礼な物言いだがまあよい。ワシが語るとこんな感じかのう。

「オブジェクト指向プログラミング」とは,全体的な手続きの「流れ」を重視してきた従来のプログラミングと異なり,処理の「オブジェクト(=対象物)」を重視することによって,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離することを目指すことで,プログラム全体の見通しをよくするプログラミング「手法」である。

助手: うわあ,連載記事の初回から踏み込んだ独創的な表現ですね。アマチュアのくせに大丈夫ですか?

博士: 痛いところを突くでない。確かにワシはソフトウェア会社に勤めたこともなければ,企業のシステム部でソフトウェア会社のSEと付き合った経験もない。その代わり,シャープのMZ-80,日立のベーシックマスター,NECのPC-8001の時代からマイコンショップに通い詰め,友達がゲームソフトで楽しむ傍でプログラミングを楽しんでいたという経験値がある。高校生になってようやく富士通のFM-7を手に入れ,6809アセンブラで自前のDOS開発にいそしんでいたり,大学生になってNECのPC-9801-VM2を手に入れ,Turbo Pascalで卒論の飛行シミュレーションを行ったのが昨日のことのようじゃ。。。(遠くを見つめる目)

助手: いくら過去の名機種の話をされても博士のオタク度が知れるだけで,アマチュア色は払拭されませんが。。。

博士: うんうん,確かにMZ-80もベーシックマスターもPC-8001もFM-7も名機であった。シャープも日立もNECも富士通も,円高に負けずに頑張ってもらいたいものじゃ。話がそれたが,就職してからは業務上の要請からMicrosoft Visual C++を習得し,一般社員向けのDLL開発を行ったりもしたぞ。(偉そうに)すなわち一応プロじゃ。

助手: (あきらめ顔で)はいはい,よくわかりました。あのエジソンだって学校に行かずに大発明家になったわけですから,アマチュア色の件についてはいいことにしましょう。本題に戻りますが,次回に持ち越しましょう。(その2に続く)
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。