『プログラミング言語C++第3版』は、C++言語の開発者であるBjarne Stroustrupによって書かれた『The C++ Programming Language Third Edition』の翻訳版である。原書は、熟練C++プログラマーから、これからC++を学ぼうとするプログラマー、コンピューターサイエンスを専攻している学生など、多くのソフトウェアエンジニアとその予備軍が手にするC++のバイブルである。
本書ではC++言語の主要機能、標準ライブラリ、そして、オブジェクト指向の概念や、それをサポートする抽象化テクニックが詳細にカバーされている。特に第3版では名前空間、実行時型識別などの新しい機能がわかりやすく解説されており、また大規模な標準ライブラリが定義されたことによって初心者(これは、C++初心者であって、プログラミング初心者を意味しない)にもより使いやすくなったC++言語の標準ライブラリが、第2版以前よりも詳細にカバーされている。
しかし、この本がこれほどまでにプログラマーに人気があるのは、ただ単にC++言語のために書かれた詳しい機能解説書だけではないからである。著者がこの本で伝えようとしているのは、設計やプログラミングツールとしてのC++の熟達に必要な基本コンセプトであり、このような基本コンセプトはC++言語だけでなく他のプログラミング言語の熟達にも大いに役立つ。著者の言葉を引用すれば、「本書の第1の目的は、C++の機能が主要なプログラミングテクニックをどのようにサポートしているかについての理解を助けること」であり、また「サンプルのコードをコピーし、他の言語のプログラミングスタイルをエミュレートすることによってコードを何とか動かしているような地点からはるかに遠いところに読者をつれていきたい」ということである。「読者が本書によって、新しい洞察力を獲得し、より優れたプログラマー、デザイナーになること」を願ってこの本を書いた、と筆者は語っている。
著者の言葉からもわかるように、この本は初心者プログラマーのためのものではなく、すでにC++を仕事で使っているC++プログラマーや、熟練プログラマーのための本である。もし、読者がそのカテゴリーに入るなら、この本は「絶対買い」である。しかし、純粋な初心者プログラマーならば、この本を読む前にC++の入門書を数冊読むべきだろう。さもないとこの本は本棚のただの飾りで終わるに違いない。(加藤英正)
登録情報
|
日本語版の翻訳には、誤訳、typoが多い。
訳者のweb pageに正誤表があるが、正誤表は長大である。2002年年初の時点で、htmlで45KBもある。
たとえば、本書には「2つの補い合う16ビット整数」という訳文があるが、いうまでもなく、これは「2の補数(2's complement)」の誤訳だ(勿論、webの正誤表では訂正されている)。
このような、情報系学部一年生でも指摘できるような些細な誤りのほかに、「成功」と「失敗」を逆に訳したといった技術書として致命的な誤りも正誤表には掲載されている。
長い正誤表を傍らにおき、頻繁に参照する覚悟が必要だ。
原文を読んだわけではないので、どのレベルでミスが紛れ込んだのかはわかりませんが、少なくとも翻訳されたこの本は相当「酷い」ものだといえます。原著者も翻訳者も、出版後に正誤表などで訂正を出しているので(Webで閲覧可能)、必ずそれらを確認する必要があります。ただ、私が見た範囲でも、翻訳されたこの本の訂正表は不十分です。
個人的には、記述内容の間違いを読みながら補正できる「プロ」レベルの人以外は読むべきではないと思います。少なくともこの翻訳された内容を鵜呑みにするのは問題が多すぎると思います。
----
ほとんどの人が「この本はいい」と評価しているようですが、個人的には「本として失格」と思っていたので、あえて(苦情の)レビューを書かせていただきました(それでも星3より下げることはできませんが^^;)。
だからといって、巻末の索引を利用して、必要な部分だけを拾い読みしようとしても、「結局どういうことなの」と戸惑ってしまうこともしばしばです。索引が指しているページを開いても、そのキーワードを理解するためにどこからどこまで読めば良いのかも良くわからなかったり、開いたページに肝心のキーワードが載っていなかったりすることもあります。
C++のバイブルということなので、あまり批判をすると逆にこちらが批判されそうですが、少なくとも初心者が読むべき本でないことは確かでしょう。C++を志して希望に満ちた初心者が読むと、挫折する確率が高いと思います。かなり経験を積んだC++プログラマーが読むべきものなのでしょう。
|
|