2012年2月5日日曜日

読書ノート: The Design and Evolution of C++


C++の生みの親Bjarne Stroustrup本人によるC++言語の進化・発展の回顧録。

Stroustrupが、何を重要と考え、どのように言語仕様を決定してきたか、様々なエピソードを交えて解説している。

第4章のC++ Language Design Rulesに書かれているC++の設計思想を読むと、C++言語が何故現在のような仕様になっているのか、C++が提供している各機能(テンプレート、仮想関数、etc)の理解の助けになる。

設計思想の1つ"Provide comprehensive support for each supported style"に従い、C++は複数のプログラミング・パラダイムをサポートできる奥の深い言語になっている。お陰でプログラマー(C++言語のユーザ&学習者)にとっては、とてもChallengingなのだけど。