なぜC/C++が使われ続けるのか?
1. コンピュータそのものの動作を実現
前述したOSのように、コンピュータが動作するためのベースとなる機能を実現できる言語はそれほど多くない。
企業の業務システムやWeb関係では、PHPやJavaなどのプログラム言語が多く用いられている。これらの言語は、既に動作するコンピュータがあって、その元で動作するプログラムを開発するために用いられる。開発者はコンピュータそのものを動作させる方法を知らなくてもプログラムの開発ができるようになっている。
これは、携帯電話そのものは開発できなくても、携帯電話を使いこなすユーザーはたくさんいるという状況に似ている。メールをチェックするときに、一般的なユーザーが携帯電話の内部でどのようなことが行われているかをいちいち考えることはまずないだろう。
しかし、前述の通り携帯電話などの機器の動作はC/C++で開発されたプログラムによって行われている。これに不具合があれば、メールはおろか通話もできなくなるかもしれない。それではもはや携帯電話ではなくなってしまう。
ベースとなる機能を開発することは、それだけ大きな責任を負うわけだが、同時に強いやりがいも感じられるはずだ。
2. プログラムの実行速度が速い
PHPやJavaなどの言語によるプログラムは、実行時にコンピュータの動作に負担がかかり、実行速度を犠牲にしなければならないことが多い。それは、完成したプログラムが、直接コンピュータで実行できる状態になっていないためだ。
これらの言語では、コンピュータで実行できる状態にしながらプログラムが実行される。この状態は、プログラムとコンピュータとが、いわば通訳を挟んだ会話をするようなものだ。通訳を挟む分だけ、どうしても会話のテンポが遅くなってしまうのだ。
しかしC/C++の場合、コンパイルという操作により完成したプログラムは、コンピュータと通訳なしの会話ができる状態になっている。よって会話のテンポが落ちることはない。そのため、他の言語によるプログラムと比べて実行速度が速くなるのだ。
実行速度は特に組込み系で重要視される。メールのチェックに何分もかかる携帯電話を、あなたは欲しいと思わないだろう。
3. 技術の蓄積が厚く情報量が豊富
あなたはおそらく検索サイトで「C言語」「C++」などのキーワードで検索してこのページにたどり着いたのではないだろうか。多くのページの中から本稿を選んでお読みいただいていることに感謝したい。
Webページが作られるようになるよりもはるか以前から存在するC/C++については、検索してお分かりの通り情報量が非常に豊富だ。書籍も数多く出版されており、技術の蓄積も厚い。それらの情報と合わせて本稿を活用していただけるのであれば、筆者としてこれほど有難いことはない。
次回はC/C++の処理系や開発環境などについて紹介したい。
- ホワイトペーパー



