C++言語の歴史:「クラス付きC」の誕生からモダンC++までの歩み
C++の誕生:1979年、「クラス付きC」から始まった
C++プログラミング言語の歴史は、1979年にビャーネ・ストロヴストルップ(Bjarne Stroustrup)が博士論文の研究に取り組んでいた頃までさかのぼります。彼は「クラス付きC(C with Classes)」の開発を開始しました。その名が示すとおり、これはC言語のスーパーセット(上位互換)となることを目指したものでした。
彼の狙いは、当時から現在に至るまで移植性の高さで高い評価を得ているC言語に、オブジェクト指向プログラミングの機能を追加することでした。しかも、実行速度や低レベル操作の機能性を犠牲にしないことが重要な要件でした。
「クラス付きC」の主な機能
この新しい言語には、C言語の全機能に加えて、次のような機能が組み込まれていました。
- クラス
- 基本的な継承
- インライン関数
- デフォルト引数
- 強力な型チェック
最初の「クラス付きC」コンパイラは「Cfront」と呼ばれ、CPreというCコンパイラをベースに開発されました。Cfrontは、クラス付きCのコードを通常のCコードに変換するプログラムとして設計されました。
C++への改名と新機能の追加(1983年)
1983年、言語の名称は「クラス付きC」から「C++」へと変更されました。C言語における「++」演算子は変数の値を1つ増やす(インクリメントする)ための演算子であり、この命名には、ストロヴストルップがこの言語を「Cをさらに発展させたもの」として捉えていたことが表れています。
この時期に多くの新機能が追加されました。特に注目すべきものは以下のとおりです。
- 仮想関数
- 関数オーバーロード
- &記号による参照(リファレンス)
- constキーワード
- // を使った一行コメント
商用製品化と言語の進化(1985年〜1990年)
1985年、C++は商用製品として実装されました。ただし、この時点ではまだ公式に標準化されてはいませんでした。1989年には言語が再び更新され、protectedメンバーとstaticメンバーが追加されたほか、複数のクラスからの継承(多重継承)もサポートされるようになりました。
1990年には「Turbo C++」が商用製品としてリリースされました。Turbo C++は多数の追加ライブラリを備えており、これらのライブラリはその後のC++の発展に多大な影響を与えました。
国際標準の策定:C++98とC++03
1998年、C++標準委員会は最初の国際標準であるISO/IEC 14882:1998を公開しました。これは一般に「C++98」と呼ばれています。この標準には、構想自体は1979年にさかのぼる「Standard Template Library(STL/標準テンプレートライブラリ)」も含まれていました。
2003年には、1998年標準に対して報告された複数の問題点に対応し、標準の改訂が行われました。この改訂版の言語は「C++03」と呼ばれています。
モダンC++への大転換:C++11
2011年半ばには、新しいC++標準である「C++11」が完成しました。C++11では、以下のような数々の新機能が導入されました。
- 正規表現(Regex)サポート
- 乱数生成ライブラリ
- 新しいC++時間ライブラリ
- アトミック操作のサポート
- 標準スレッドライブラリ
- 他の言語のfor eachループに類似した機能を提供する新しいforループ構文
- autoキーワードによる型推論
- 新しいコンテナクラス
- 共用体(union)および配列初期化リストのサポート強化
- 可変引数テンプレート
C++11の登場により、C++は大きく近代化され、現在に続くモダンC++の時代が幕を開けました。
-
Pythonの歴史:誕生から現代までの歩み
Pythonは、2010年代に急速に人気を博したオープンソースのプログラミング言語です。データ分析、データ処理、Web開発など、多様なソフトウェア分野で第一選択肢となる汎用性の高さは、その柔軟性を如実に示しています。2015年以降、数多くの業界調査において、常に上位5位以内のプログラミング言語にランクインし続けています。 Pythonの生みの親 Pythonは、オランダ出身のプログラマーグイド・ヴァン・ロッサム(Guido van Rossum)によって生み出されました。彼は2018年7月に退任するまで、Pythonコミュニティにおいて「慈悲深き終身独裁者(BDFL:Benevolent
-
主要Linuxディストリビューションの歴史――Ubuntu、Fedora、Debianなど誕生の背景と特徴
Linuxは1991年の誕生から30年以上の歴史を持ちます。今や世界中のサーバーやスマートフォンを支えるOSとなったLinuxですが、その歴史には数多くのドラマがあります。この記事では、Ubuntu、Fedora、RHEL(Red Hat Enterprise Linux)、Linux Mint、Slackwareなど、主要なLinuxディストリビューションがどのように生まれたのか、そしてそれぞれ何が違うのかをコンパクトに解説します。 注:現在存在するディストリビューションは非常に多いため、ここでは主要なものに絞って紹介します。 そもそもLinuxそのものの歴史とは? 各ディストリビューショ