「C++初心者からの脱出」を読んだ

starpos.booth.pm

よくありそうなタイトルのC++の入門書ですが、中身もよくありそう…ではないです。「文法やライブラリを一から説明して退屈なサンプルプログラムを作る」といったありきたりの入門書とは一線を画し、C++が持つ膨大な機能の中からいくつかを選んで「これはこう使うとよい」「この機能は存在はしているけど使わないほうがいい」という意見をきっちりとした理由付きで書いている本です。筆者の星野さんが企業のインフラを支える下記のようなC++ソフトウェアをC++で長年書いてきたエンジニアであることもあって、それぞれの意見は観念的なものではなく、実践的です。これらの意見が唯一絶対なものとは言いませんが*1C++初心者がモダンなC++プログラムを書く上で大いに参考になる本だと思います。

github.com

本書の対象読者は「C++使ったことあるけどどういう書き方がいいのかわからない」というような人です。その一方で、あくまで本書は「C++初心者」向けの本であって「プログラム初心者」向けの本ではないということが言えます。たとえば本書の本質から外れるところについては細かいところは他の本を見てくださいと参照を示すという割り切り方をしています。わたしはC++99までは使った経験があるもののC++11以降にどんな機能が増えたのか、それらをどう使えばいいのか知らなかったクチなので、まさに想定読者だったようで、本書を非常に楽しく読めました。

ついでに言うと、C++を読み書きする予定の無い人も、C++とはどんな言語なのかということを知るための、よい読み物になると思います。

*1:筆者もそんな言い方をしていません