2011 年上半期に読んだ情報技術系の書籍の感想 #1

もう 7 月も半分以上が過ぎてしまいましたが、今年の 1 月から 6 月までの間に読んだ本をまとめておきます。 この記事では各言語の書籍を。 それ以外の本は 別記事 にまとめます。

各言語の書籍

Ruby

Rubyベストプラクティス -プロフェッショナルによるコードとテクニック

Rubyベストプラクティス -プロフェッショナルによるコードとテクニック

初めてのRuby』、『プログラミング言語 Ruby』 に続けて読みました。 Ruby 言語そのものの使い方ではなく、Ruby をどのように使えばより良く開発ができるのか、に焦点を当てている本です。 テスト駆動開発についてや API の設計方法、上手なプロジェクトメンテナンスの手法などの章は私にとって役に立ちました。
本書は、しばしば 「中級者、または上級者向け」 と言われます。 実際、初心者には難易度が高い項目が多いのですが、テキスト処理とファイル管理についての章や、文字列の多言語化やローカライゼーション (文字エンコーディングについてなど) を扱った章は初心者でもためになるように思いました。 とりあえず Ruby を使えるようになったら読んでみるといいのではないでしょうか。
本書については 1 月 9 日の記事 にて詳しい書評を書きました。

C++

C++実践プログラミング

C++実践プログラミング

「実践プログラミング」 というタイトルから、ある程度 C++ の技能のある人向けの本なのかと思っていたのですが、実際は C++ 入門者向けの本でした。 ただ、単なる言語の説明ではなくて、実践的な内容 (コードスタイルについてなど) についても書かれていて、良いと思いました。

今まで C++ 入門書は 2, 3 冊しか読んだことがないのですが、その中では本書が一番良かったので、C++ の入門書を探している人にはオススメします。

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

かなり前に購入したもののしばらく積んでいた本。 購入当時はプログラミング自体初心者だったので 「この本すげえええええ」 って思ったけど、今読んでみるとそれほどでもなかった。 いや、素晴らしい内容なので C++ を使う人は絶対読んだ方がいいと思うのですけど。

JavaScript

JavaScript 第5版

JavaScript 第5版

JavaScript の全体的な説明。 言語仕様からブラウザ間の差異についての説明まで。 役にたつのはたつのですが、ブラウザ間の差異を吸収するためのコードサンプルなどが多く、ちょっと本質とは違うところにページ数が割かれているのがやや気になる点ではあります。
また、第 5 版は数年前の内容なので、古くなってしまった感は否めません。 先日原著の第 6 版が出たので、原著を読むか、和訳の第 6 版が出るのを待つのが吉、かも。

JavaScript Patterns: Build Better Applications with Coding and Design Patterns

JavaScript Patterns: Build Better Applications with Coding and Design Patterns

JavaScript を一通り使えるようになった初心者、または中級者向けの本です。 長年 JavaScript を使ってる人が自力で学んでいくような JavaScript の書き方をパターン化してわかりやすくまとめている、という内容です。

書名に 「パターン」 とついていますが、これはデザインパターンを表しているのではなく、もっと広い意味でのパターンを表しています。 (例えば、コメントの付け方もパターン化したり。) デザインパターンについても 1 つの章を使って書かれていますが、デザインパターンのためだけに買うのはやめておいた方がいいでしょう。 この本を読むための前提知識として、JavaScript の文法一通りと、オブジェクト指向についての基礎と、クロージャについてわかっていれば良いと思います。

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript Patterns』 のターゲットと同じような人をターゲットにしているようです。 まあ内容的にはあまり悪くないのですが、ちょっと主張が強すぎる点が気になりました。 私としてはこの本よりも 『JavaScript Patterns』 をオススメします。

本書については 2 月 6 日の記事 にて詳しい書評を書きました。

Java

Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)

『Effective C++』 と比べると、「当たり前」 の内容が多く、目から鱗という感じではないのですが、逆に言えば知っておくべき内容だらけだとも言えるので、是非読んでおくべきかと。 Java 以外の言語にも適用できる内容 (設計に関する項目など) も多くあります。

Perl

初めてのPerl 第5版

初めてのPerl 第5版

久しく Perl を触っていなかったので復習に。 やはり良い本です。

PHP

初めてのPHP5

初めてのPHP5

オライリーのほかの 『初めての』 シリーズと比べると、説明している内容が少なく、物足りないと感じました。 プログラミング初心者向け、という感じなので、多言語の経験がある人は別の本を読んだ方がいいと思います。

CUDA

はじめてのCUDAプログラミング―驚異の開発環境[GPU+CUDA]を使いこなす! (I・O BOOKS)

はじめてのCUDAプログラミング―驚異の開発環境[GPU+CUDA]を使いこなす! (I・O BOOKS)

読んだだけで結局 CUDA でプログラムを書いていないのでなんとも言えないのですが、概念的な説明が多く、この本だけで CUDA のプログラムが書けるようになるのは難しいのではないかと感じました。 CUDA の公式ドキュメントを読む前のとっかかり程度にはちょうどいいのかも。