アメリカでは2004年にソフトウェア工学の大変革があったのだろうか / CからC++へ

1. CとC++の比率が2004年に変化した
 最近、FireFoxVLCといったオープンソースプロジェクトの中でのCとC++の比率の変化や、それに伴った品質の向上、劣化を調査した論文(Proceeding)を読んでいて気付いたのですが、4っつのプロジェクトで2004年の前後1年くらいの間に大きくC/C++の比率が変化しているんです。

 これは、なぜなんだろう。

2. 二つ、気付くこと
 まず、2004年というのはエリックエバンスの「ドメイン駆動設計」の本がアメリカで出版された年です。ああいうフィロソフィ、手法が広まってきた時期なので業界がどっと動いたという説。

 もうひとつは、その頃の日本の状況です。2004年頃といえば日本ではFOMAが立ち上がり始めた頃で、モバイル分野は日本が世界一と言われた時期です。実際、そうだったんだと思います。
 ただ、内情は本当にひどかったらしく、7次請けまでつぎ込む人海戦術で、仕様書も何が正しいんだか分からずに力技で開発していたと聞きます。当然、C++やらオブジェクト指向やらは強制されれば使うけれど勉強する余裕なんかなくて。

 アメリカは、そこに勝機を見出したんじゃないでしょうか。ハードウェアの品質保証が難しい二つ折り携帯なんかには手を出さず、見た目が全然違うけれど作りやすいフラットなスマートフォンを出してきた。ソフトウェアはC++, Objective-Cできちんと作れば簡単に勝てる。だからソフトウェアエンジニアリングをきちんとやろうと。もともとソフトウェアは圧倒的に勝っているし、CPUもメモリもすぐにPC並になるよと。

 それがソフトウェア業界全体に波及したんじゃないでしょうか。

3. ソフトウェア工学の力

 それが正しいとして、今の日本のソフトウェア開発の現場を見るにつれ、これはもう敗戦だなと。そう思うわけですよ。製造業が勝てる要素がない。
 あとはもう、電子機器が関係ない機械:自動車の機械部分しか勝てるところはないと思うけれど、電子制御の技術はもう桁が違ってしまうから、勝負にならない。


 我々エンジニアも、海外で、海外の企業の中でどうやって生計を立てていくかを本気で考える時期に来てしまったなあと。その論文のカーブが2004年で「クキッ」と曲がっているのを見て、思ってしまいました。