CORBA, COM 技術はいつか廃れる

熱狂的に学んだテクノロジが衰退する理由 - @IT
CORBAは普及せずに廃れてしまった感じがする。エンタープライズのバックオフィス環境、ある会社が作った電力系統遠隔監視システム(SCADA)のような高信頼性、高負荷がかかるような場所でも実際に使われてきたのは知っているけれども、広く普及したとは言い難い。COM/DCOMもOLE 2.0として使われ方、あるいはUI部品としてはかなり成功したし、バックオフィスでの使用もCORBAよりは普及が進んだけれども、決定的といえるほど普及せずに今日に至っており、向こう数年の間の64ビット化の中でおそらく息の根を止められることになる。
それぞれ普及しなかった理由、衰退していく理由はあると思うのだけどこの記事では以下のような指摘をしている。

 CORBAに関してはファイアウォール/HTTP透過性、処理の重さなどさまざまな指摘があるが、個人的には「30センチ先の問題を解決するテクノロジではなかった」ことが大きいと思われる。
 人は億劫(おっくう)な動物で、今いる場所から動きたがらない。30センチ以上先の物を取ってくるのは面倒だ。システム構成やソースコードはいじりたくない。使用頻度の高いものであれば、高度な習熟が必要な操作もいとわないが、たまにしか使わない機能は極めて簡略でなければたちまち使われなくなってしまう。
 インテルアーキテクチャ普及期の昔から、コンピュータ業界では主流テクノロジに、付け足しを繰り返しながら進展してきた。漸進的なテクノロジこそ本流なのだ。

まぁようは人は怠惰なのだ。だいたいプログラマは短気で面倒くさがりの方がいいらしいので、学習と仕様が面倒なものを普及しない。(残念ながらね。)たとえば、COM/DCOMだって、ATLやVBでの開発が可能になるまでまじめに書くやつなんてほとんどいなかったんだから。OLE 2.0のころなんて、使うの天国作るの地獄とか言われていたし。あー今でも地獄ですね。ATLだって複雑すぎ。そういうことで、SOAPもシンプルさ故に期待されましたが、主にCOMとCORBAの人が難しいことを言い始めて複雑になっていき、RESTマンセー、XMLも複雑だからPOJOマンセーな今があるわけです。信頼性や、セキュリティが関係なければまぁそれでいいわけです。
ただ複雑性だけが廃れていく理由かと言えばそうでもないだろう。実際にはソフトウェアシステムを使う側の状況の変化が大きく、ソフトウェアシステムに対する価値観が変わっていくので、その価値観に沿わない技術は廃れていくことになる。COM CORBAは制作開始から制作終了までのスピードに価値がある今のソフトウェア開発にあわないのだ。現在の価値観にあうのはスクリプティング言語によるREST、AJAXでの開発だ。全部が全部そうじゃないけど、現在の価値観の中心はそんなところにあると思う。
結局その技術が純粋技術的に良いか悪かではなく、技術を使う側の価値によって主流となる技術は変わるので、今自分がどの技術に乗るべきかは、ソフトウェア技術ではないところの状況を見て判断する必要があるんだきっと。
まぁそれにしたって、それが主流であるのはきっと数年のスパンでしかないけど。

コメントを残す