![]() |
[1999 年 1 月号] |
[Happy Squeaking!!]
1.はじめに
古きよき時代と呼ばれるソフトウェアの黎明期には、計算機に行わせる仕事は比較的単純な計算問題にかぎられていました。このため、コンピュータの中には、数字や、単純な計算式が表せれば十分でした。しかし、近年のアプリケーションでは、残念ながらコンピュータに単純な計算のみをさせる要求というのはほとんどありません。銀行口座を作り、それをデータベースに保存したり、インターネット上で、仮想の洞窟に入り複数のユーザで探検ゲームを行ったりなど、非常に複雑な問題解決の仕事をコンピュータにさせることが求められています。こうしたことをコンピュータに行わせる際に、開発者が仕事の内容を、全てコンピュータに合せて数字と式の羅列に変換しなければならないとなれば非常に苦痛でしょう。(とはいえ、古くのアセンブラによるプログラミングはまさにこうした作業でした)。この苦痛はある意味当然のことです。人間は、数字と式の組み合わせで物事を考えているわけではないのですから。
通常、人間は、「もの」を基本的な単位として考えるということをします。具体的なものや抽象的なものも含めて、現実の世界は森羅万象さまざまな「もの」から成り立っていると捉え、特定された「もの」を手がかりにして脳の中で処理が進んでいきます。(「もの」を特定する働きをもつのは「ことば」です。ことばがなければ人間は一切の思考を持つことができません。幼児の言葉の獲得は、思考の獲得の過程でもあるわけです。)
そこで、こうした「もの」を、ソフトウェアの中にも処理の基本単位として表現できれば、複雑なシステムを作成する際にも、考え方が人間に近くなるので対処しやすいのではないか、という考えがでてきました。オブジェクト指向はこのような逆転の発想から生じています。計算機の都合に人間が合せるのではなく、コンピュータを人間の思考に近づけるのです。
「オブジェクト」とは「もの」を指します。もともと米国で生まれた考え方なので横文字になっていますが、無理やり日本語にすれば「もの指向」ということです。
「オブジェクト指向」の考えをシステムに取り入れたわかりやすい例としてGUIがあります。Windows、MacintoshなどのGUIは、現実世界に存在する「もの」をソフトウェア上に比喩(メタファ)として表すということをしています。実際の机に似たものがデスクトップとしてCRTディスプレイ上に表現され、マウスを手のかわりとして、フォルダをつかみ、ごみ箱に捨てたりします。Dosのコマンドプロンプトでrmdirとカチカチ打ち込むのに比べてはるかに人間に優しいシステムになっているということがいえます。
これは使用者から見た感覚ですが、開発者にとってもやはり同じような「もの」を中心とした単位でソフトウェアが構成できればこれにこしたことはありません。こうした野望を実現するためのもっとも近道は、「オブジェクト」という単位を構成要素として扱える開発方法論やプログラミング言語を使うことです。
© 1999-2001 OGIS-RI Co., Ltd. |
|