Dynamic OOPへのトレンド
オブジェクト指向プログラミングは70年代から80年代の構造化プログラミング技法に続く
大きな流れです。モジュラー設計、すなわちコードの再利用性やRAD(Rapid
Application Development)は、ソフトウェア開発の形態を変えたOO(Object Oriented)技術
の数多くの成果の一つと言えるでしょう。
C++によって広く認知されるようになったStatic(静的)な
OOP(Object Oriented Programming)言語は、OO技術の急速な成長に大きく関与してきました。
しかしながら、これらの言語は決して対話的ではありません。Dynamic OOP言語は、多くの
新しいアプリケーション分野における開発ツールとして急速に採用されつつあります。
Dynamic OOPとは何か
Dynamic OOPは、アプリケーションを開発中、そしてたとえ「実行中」
であっても、ソースコードに一切手を触れずに変化に適応させることができるという画期的
なソフトウェア開発技術です。新しいオブジェクト、新しいクラス、そして新しい振舞い
をアプリケーション実行中に加えることができるのです。
Dynamic OOPはユーザによって拡張されていくようなソフトウェアの開発を可能にする技術
です。開発者はプロトタイプの動作テストをユーザとともに段階的に行えるので、結果的
に非常に使いやすいアプリケーションが作成できます。また、Dynamic OOPを使うことで、
ユーザはアプリケーションを配布された後であっても、そのアプリケーションの振舞いを
変更することもできるのです。インテリジェント・エージェントが、アプリケーションが
動作中に新しいコードを適用することでソフトウェアアプリケーションを再構築するの
です。
ソフトウェアがより優秀になり、かつネットワークを利用するようになるにつれ、ソフト
ウェアエンジニアはDynamic OOP言語に移行していきます。なぜなら、Dynamic OOP言語は
「複雑さ」を管理するのに非常に適しているからです。
Dynamic OOPの代表的な言語は「Smalltalk」と「ANSI CLOS」
です。Dynamic OOPの第一世代言語であるSmalltalkは、金融業界で有名になりました。しかし、
Smalltalkではすべての情報がオブジェクトになる必要があるため、パフォーマンスが
ネックになりがちです。さらに、Smalltalkは単一継承しかサポートしていないのです。
この制約は、継承によって簡単に構築できるオブジェクトの設計を困難にしてしまいます。
このような制限から、さらにDynamic OOP言語を開拓していくためにXEROX PARCや
他の研究組織で改良が進められました。これらの機関の研究成果がANSI CLOSの開発
につながったのです。
ANSI CLOS
CLOS(Common Lisp Object System)はパワフルな第二世代
Dynamic OOP言語であり、自動メモリ管理、メソッド処理、そして制限のないスケーラビリティ
を持ち合わせています。ANSI CLOSはオブジェクト指向言語として初めてANSIの標準になった
言語です。ANSI CLOSコードは32ビットマシンコード用にコンパイルされているので、
パフォーマンスはCやC++と比較して遜色ありません。
ANSI CLOSでは自動的かつ効果的に多重継承を使うことができます。例えば、「自動車」という
オブジェクトクラスは、「4輪車」と「流体力学オブジェクト」という2つのスーパークラス
を持つことができます。それゆえ、「自動車」は「4輪車」から継承した「安定性」と「足型
の特性」をモデル化します。また「空気の流れ」や「対風設計」などは「流体力学オブジェクト」
クラスから継承した特性としてモデル化されます。そして「流体力学オブジェクト」は「航空機」
のような流体力学的な特徴を必要とする他のオブジェクトにも適用されます。それゆえ、
多重継承によって、ANSI CLOS開発者は高度に特定化された分野の知識を一般のクラスに
適用できるのです。
実績
ANSI CLOSはコマーシャルにその実力が証明され、世界中で有名な開発プロジェクトに使用
されています。Price WaterhouseとAT&Tは、会計監査や電話交換機といった高度な
アプリケーションにANSI CLOSを使用しています。またGeneral ElectricとPratt Whitneyは
ジェットエンジンの開発をANSI CLOSアプリケーションによって行っていますし、Boeingは
同様に777のような新しい航空機を設計しています。さらに、FordとJaguarは新しい
自動車システムを設計していますし、MotoloraとTexas Instrumentsは生産スケジューリングや
ICのデザインにANSI CLOSを使っています。Microsoftも「Bob」のような画期的な
アプリケーションの開発にANSI CLOSを使っているのです。
Franz Inc. Japan Home | Franz Inc. Home
Copyright © 2007 Franz Inc.