C++の発展史

C++の生みの親:ビャーネ・ストロウストラップ(Bjarne Stroustrup)、『The C++ Programming Language』の著者でもある。彼がこの言語を設計・実装した目的は、UNIXカーネルサービスをマルチプロセッサとLANクラスタに分散させる課題を解決することだ。当時、イベント駆動シミュレーションを開発していた際、Simula言語は仕様に適していたがパフォーマンスが足りなかった。一方C言語は実行効率が高いものの、モジュール化や型チェック機能が弱かったため、彼はSimulaのクラス機構をC言語に追加するという考えを思いつき、クラス付きC「C with Classes」が誕生した。これがC++の前身である。

その後、この言語は複数の大型プロジェクトで活用され、リソース消費量が少なく実行効率に優れる点が実証された。だが当時は演算子オーバーロード、参照、仮想関数、テンプレート、例外処理など多くの機能が欠けていた。

当初は内部利用のみだったが、1983年7月、C++は初めて研究室を出て外部機関で使用されるようになった。

++はC言語のインクリメント演算子であり、C言語を発展・改良した言語であることを意味している。

C++11は開発フェーズにおけるコードネームがC++0xで、本講座はC++11を基盤としている。

C++を開発した最も核心的な目的は、同僚がアセンブラや純粋なC、当時流行していた各種高級言語を記述しなくても済むようにし、高品質なプログラムを作成する難易度を下げ、コーディング体験を向上させることだ。

C++言語の進化は、標準ライブラリのコアコンポーネント開発と並行して進められた。

C++年表

1979年:開発開始、当初の名称は「C with Classes」。クラス、コンストラクタ/デストラクタ、基礎的な並行処理ライブラリを実装

1984年:正式にC++へ改名。仮想関数、オーバーロード、参照、IOストリームライブラリを追加

1985年:初の商用版C++がリリース

1998年:初の国際規格C++98が正式に確定

2002年:新規格の開発を開始、コードネームC++0x

2003年:C++98の正誤版を発表。正規表現、ハッシュコンテナ、スマートポインタなどのライブラリ部品を追加

2009年:C++0xの機能が確定。ラムダ式、ムーブセマンティクス、マルチスレッド、統一初期化などの最新機能を搭載

2011年:新規格が正式にC++11と命名され、ISOにより承認

2012年:C++11に完全対応したコンパイラが登場。C++14、C++17の開発を開始

C++の生みの親

C++の生みの親はビャーネ・ストロウストラップ(Bjarne Stroustrup)。1955年生まれ、2022年にモルガン・スタンレーの専任職を定年退職したが、C++関連の活動は継続している。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です