« 企業は安定した言語を求める | トップページ | Javaのgenericsはやはり使えない »

2010年11月26日 (金)

C++は死に瀕しているかもしれない

なぜUnixではCが主流なのか。
なぜならばUnixではまともなGUIが使えないから。
だから、GUIの開発環境を必要とするC++は使えないことになる。
CUI画面ではC++は開発できない言語なのだ。
Unixの反GUIという哲学が、C++に対する巨大な防波堤となっている。

なぜC++プログラマはWindowsプログラマなのか。
なぜならば、C++のまともな開発環境を提供しているのはMicrosoftだけだから。
そしてWindowsはGUIが安定しているため、C++のための安定した開発環境を構築できる。

だからC++での開発といった場合、デバイス系とWindows系がほとんどとなる。

しかしデバイス系ではC++よりもCの方が優勢でありそれは今後も覆らないだろう。

C++が優勢なデバイス系はかなり複雑な機能が必要とされる分野となる。

その代表例が携帯電話であった。

しかし最大の頼みの綱であった携帯はiphoneとandroidによって将来はC++を
必要としない方向性になってしまった。

またそれら以上によりハードウェアに近い領域ではC++よりもCの方が優勢になる。
これはCの方がシンプルで少資源なので覆らないだろう。

Windowsではどうか。

以前はVC++が隆盛を誇っていたため、C++は圧倒的な存在感を持っていた。

しかし現在は徐々にC#にアプリケーション開発言語の座を譲ろうとしている。

実際その方が効率がよく言語も開発環境も洗練されているからだ。

ただしWindowsでもよりデバイスよりの領域では相変わらずC++が必要となる。

つまりC++が生き残る領域とは、ハードウェアとアプリケーションの中間領域
となる可能性が高い。

それはOSの領域になるだろう。

オペレーティングシステムに密着した領域だ。
ここだけはC++の生き残れる領域だろう。
より言うならば、WindowsOSのデバイス寄りの領域だ。
さらに携帯電話のOSよりの領域。
この2つくらいだろう。

残念ながらUnixやLinuxではC言語がすでに大規模なアプリも包摂しており、
C++が入り込める領域が無くなってしまっている。
これはUnixがGUIを捨てたために起きたほぼ必然的な展開である。

さらにC++0xが策定されているが、実際のところ、C++のまともな開発環境は
Windowsだけなので、これも影響はWindowsに限られるだろう。

結局、C++はその生き残る領域を確立できなかったと言っていい。

1.言語仕様が複雑すぎたこと、
2.まともな開発環境がWindowsしかなかったこと、
3.C#が出現してしまったこと、
4.携帯電話がiphoneとAndroidに喰われてしまったこと、
5.UnixやLinuxではCに敗北してしまったこと、
6.Javaが出現してしまったこと、

などが複合的に起きた結果だった。

特に痛かったのは、3と4だろう。
Windowsと携帯電話という2つの大きな領域を失ってしまったのは大きい。

将来においてC++がその隆盛を取り戻せるとしたら、以下のケースがある。
1.Windowsの開発がC#からC++に逆流する
2.携帯電話以外の携帯デバイスが隆盛する
3.新しいOSの開発が盛んになる

どれも可能性はかなり低い。

結局、C++の最大の失敗はやはり言語仕様の複雑さだろう。
結果的にその複雑さが受け入れる価値があると判断されなかった面がある。
それを受け入れることによる収支が合わなかった。

|

« 企業は安定した言語を求める | トップページ | Javaのgenericsはやはり使えない »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: C++は死に瀕しているかもしれない:

« 企業は安定した言語を求める | トップページ | Javaのgenericsはやはり使えない »