自転車にロケットエンジンを積んでみた?世界を動かすプログラミング言語「C++」と開発者の物語

Main Image

日常を裏側で支えるプログラミング言語の役割

私たちが毎日使っているスマートフォン、夢中になっている大迫力の3Dゲーム、あるいはインターネットで検索をするためのウェブブラウザ。これらが魔法のように動いている裏側には、コンピューターに指示を出すための言葉である「プログラミング言語」が存在します。

世の中にはたくさんのプログラミング言語がありますが、その中でも縁の下の力持ちとして世界中を支えているのが「C++(シープラスプラス)」です。普段、画面の表側にC++の名前が出ることはありません。しかし、もしこの世界からC++が突然消えてしまったら、私たちの生活はあっという間に大混乱に陥ってしまうでしょう。

速さと整理整頓を両立させた開発者:ビャルネ・ストラウストラップ

この強力な言葉を生み出したのは、デンマーク出身で長らくアメリカを拠点に活動しているコンピューター科学者、ビャルネ・ストラウストラップ氏です。

1970年代の終わり頃、彼はある課題に直面していました。当時大活躍していた「C言語」というプログラミング言語は、コンピューターを非常に速く動かすことができました。しかし、作るプログラムが巨大になると、まるで大きなおもちゃ箱のように中身の整理整頓が難しくなるという弱点があったのです。

そこで彼は、C言語の圧倒的なスピードはそのままに、大きなプログラムでも綺麗に整理整頓できる機能を追加しようと考えました。速さと便利さのいいとこ取りを目指したこのアイデアは、まさに自転車にロケットエンジンを積むような、画期的で少しクレイジーな挑戦でした。

Sub Image 1

「C with Classes」から「C++」へ:名前の由来と進化

1979年に彼が開発を始めた当初、この言語は「C with Classes(クラス機能付きのC言語)」と呼ばれていました。その後、1983年に現在の「C++」という名称が正式に使われ始めることになります。

C言語の次に作られたのなら、アルファベット順で「D言語」になりそうなものですよね。なぜC++という名前になったのでしょうか。

実はプログラミングの世界で「++(プラスプラス)」という記号は、今の数字を1つ増やす、あるいは1歩進めるという意味を持っています。つまり、C++という名前には、C言語から1歩進化したものという、プログラマーならではの気の利いたジョークが込められているのです。

大迫力の3Dゲームから宇宙開発まで:多岐にわたる活躍の舞台

C++の最大の武器は、とにかく仕事が速いことです。コンピューターの力を限界まで引き出せるため、一瞬の遅れも許されない厳しい環境で重宝されています。

たとえば、映画のように美しい映像が滑らかに動く最新のテレビゲームがその代表例です。また、近年話題のAI(人工知能)の分野でも、表面上は別の扱いやすい言語で操作されることが多いですが、システムを支える土台の部分ではC++が重要な役割を担っています。

さらには、地球から遠く離れた火星で活動するNASAの探査機(ローバー)のソフトウェアの一部にも、C++が採用されています。宇宙の過酷な環境で絶対に失敗が許されないミッションを支える技術のひとつとして、C++が活躍していると考えると胸が熱くなります。

Sub Image 2

メモリの安全性と進化を続ける言語仕様

C++は誕生から40年以上が経つ言語ですが、決して歩みを止めてはいません。近年は3年ごとに大掛かりなアップデートが行われており、「C++20」「C++23」といった新しいバージョンが次々と発表されています。

C++はとても強力で自由度の高い言語ですが、その自由さゆえに、間違った使い方をすると重大なミスに繋がるリスクも持ち合わせています。実際に最近、アメリカの政府機関などから、コンピューターの安全性を高めるために、メモリを安全に管理しにくい言語からより安全な言語へ移行すべきだという勧告が出されました。これは主にC++などを念頭に置いた指摘だと言われています。

これに対して、生みの親であるストラウストラップ氏は堂々と反論しています。現代のC++には、安全に使うためのルールや機能がしっかりと備わっており、古い時代の書き方を見て危険だと判断するのは実態に合っていないと主張しているのです。

現在もC++をより安全で使いやすくするための開発が世界中で進められており、最新のC++は現代の厳しい要求に応える強靭な言語へと進化を続けています。

完璧さよりも現実の課題解決を追求する姿勢

ストラウストラップ氏が残した、プログラマーの間で語り継がれている有名な言葉があります。

「世の中には2種類のプログラミング言語しかない。みんなに文句を言われる言語と、誰にも使われない言語だ」

C++は、あまりにできることが多すぎて習得が難しいため、世界中のプログラマーから使いにくいと文句を言われることがよくあります。しかしそれは、世界中で数え切れないほど多くの人々に使われ、頼りにされているからこその愛情の裏返しとも言えます。

完璧で誰からも批判されないものを作るのではなく、現実の世界にある難しい課題を泥臭く解決していく。それこそが、ストラウストラップ氏とC++が40年以上にわたってテクノロジーの世界を牽引し続けてきた最大の理由です。次にスマートフォンでゲームを遊ぶときは、画面の奥で必死に計算を続けているC++の姿を少しだけ想像してみてください。


この投稿をシェアする



← 投稿順 新着順 →

Makuakeでの最新プロジェクト


0件のコメント

コメントを残す

コメントは承認され次第、表示されます。