BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ソフトウェアエンジニアリングの40年。変化は来つつあるのか?

ソフトウェアエンジニアリングの40年。変化は来つつあるのか?

ブックマーク

原文(投稿日:2010/11/16)へのリンク

Nantes大学名誉教授Jean Bezivin氏は最近自身のブログで40年にわたるソフトウェアエンジニアリングの歴史をふり返り、根本からの変化が起こりつつあると見ているようだ。Jean氏はソフトウェアエンジニアリングの分野において3つの主要な断絶が起こってきた、と考えている。

最初の断絶は、1968年10月にGarmischで行われたNATOの会議でした。複雑なシステムの出現により、個による(そして、孤立した)プログラマの時代は終焉を迎えざるをえなくなり、その対象は“30,000命令以上、25人以上のプログラマによってつくられ、6ヶ月以上の開発期間がかかり、1階層以上の管理が必要となるような大きなプログラミングシステムとなりました”.
2つめの重要な断絶は80年代初頭に見られた、手続き型からオブジェクト指向型プログラミングへのパラダイムチェンジでしょう。
3つめの断絶は2000年11月にOMG MDAイニシアチブによって始まりました。

各断絶は、私たちの業界が解決しようとしている問題に対するその時点でのプラクティスが力不足であったことによると言える。例えば、オブジェクト指向言語は手続き型のパラダイムが実世界の状況を簡単に記述することや、大規模なソフトウェアの再利用性を許容すること、安定したソフトウェアアーキテクチャの開発を可能にすることなどができなくなったときに出現したものだ。

今日、彼はソフトウェアエンジニアリングを再定義する可能性をもつ新たな要因が出現していると見ている。例えば、"エンドユーザプログラマ"、ソフトウェアエンジニアリング作業の専門化、いわゆるアプリケーションストア(Apple、Googleなど)で大量のソフトウェアアプリケーションが市場に急速に届けられること、技術的解決策の多様化と適切なコストでのアプリケーションの相互運用の必要性、新たな技術進化(例えば、クラウドコンピューティング)、などである。彼には、私たちが次のような状況に向かっているようにみえているようだ。

急速に発展しながら相互作用し、異なる人によって、そして異なる言語によって書かれることも多く、一般に伝統的なソフトウェア開発ライフサイクルによって開発されてはいない、そんな多数のアプリケーションがある。それぞれのアプリケーションは、特定のデータモデル、状態モデル、イベントモデルを持つ。

次に起こる断絶を予言するために、彼は次のようなヒントを提供している。

プラクティス、あるいは技術の断絶に認められる不変の事実は言語の問題にかかわることが非常に多いということだ。[なぜなら] ... 現実、あるいは理論的なソフトウェアエンジニアリングの中心は言語エンジニアリング[だから]である。

彼は最後に今日のプログラミング言語における進化の潜在的方向性を示し、そのエントリを終えている。

その鍵は[...]おそらく専門プログラマとエンドユーザプログラマの間の協力にある。しかし、私たちはエンドユーザに対して特定のソフトウェアエンジニアリングのプラクティスを生み出す必要があるのだろうか?
文字によるシンタックスは非常に重要な位置にとどまるだろうが、多くの種類の視覚的言語が出現しており、その中には様々な具体的シンタックスとともに抽象的シンタックスを文字、表、視覚的な方法で提供しているものもある。これらの言語は文法のみによってではなく、メタモデルやスキーマ、オントロジーなどによって定義される。
新しい言語を考案すること以上に、これらのすべてのDSLの間での厳密かつ運用上の意味関係を確立する分野で困難が生じ、それは21世紀の新しいソフトウェアエンジニアリングのプラクティスを構成する中心的なものとなるだろう。いずれにしても言語間の相互運用性はその展望での重要な部分となるだろう。

ソフトウェアエンジニアリングの進化は長い間先延ばしにされてきたのか? もしその答えが「はい」なら、その進化は始まったのか? ソフトウェアエンジニアリングはこの5年でどのようになるだろうか? 

この記事に星をつける

おすすめ度
スタイル

BT