C++と色々

主にC++やプログラムに関する記事を投稿します。

今年読んだ技術書

今年読んだ技術書をまとめようと思います。年末なので振り返ってみようと思います。
今年はよく電車に乗ったりして暇を潰す機会が多かったのと、意識的に積み本を消化しようとしていたのでたくさん読みました。1回読んだだけでは全て理解しきれないので、何度も繰り返し読もうと思います。順番は読んだ順にしようと思いましたけど、よく覚えてないので適当です。

Effective STL―STLを効果的に使いこなす50の鉄則

Effective STL―STLを効果的に使いこなす50の鉄則

  • 作者: スコットメイヤーズ,Scott Meyers,細谷昭
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2002/01
  • メディア: 単行本
  • 購入: 9人 クリック: 155回
  • この商品を含むブログ (94件) を見る

2月頃読みました。当時Amazonや大きな書店に置いておらず、貴重だと思っていたEffective STLが実家の本屋で売っていたので即買いしました。STLの使い方を知りたかったので。

アルゴリズムを学ぼう

アルゴリズムを学ぼう

2月頃読みました。赤黒木の実装が載っていたので買いました。勉強というより読み物として読みました。

Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)

Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)

  • 作者: アンドレイアレキサンドレスク,Andrei Alexandrescu,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2001/12
  • メディア: 単行本
  • 購入: 12人 クリック: 214回
  • この商品を含むブログ (101件) を見る

積み本消化シリーズ1。4月頃読みました。この本読んでC++に対する好奇心がさらに増しました。とても面白かったです。そして10年以上前の本なのに、現在のC++標準ライブラリの設計の元になっている技術が載っていて驚きました。

C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)

C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)

  • 作者: ハーブサッター,アンドレイアレキサンドレスク,浜田光之,Herb Sutter,Andrei Alexandrescu,浜田真理
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2005/10
  • メディア: 単行本
  • 購入: 20人 クリック: 383回
  • この商品を含むブログ (97件) を見る

詰み梵鐘かシリーズ2。4月頃読みました。Modern C++ Desgin等でマニアックな知識をつけるのもいいけど、基本的なプラクティスも知っておくべきだろうということで読みました。とても良い本です。

Gitポケットリファレンス

Gitポケットリファレンス

多分5月頃購入。gitをwebサイトだけで使うのに辛みを感じていたので、まとまった本が欲しくて買いました。結果正解で、知りたいことが載っていたので満足です。

C++テンプレートメタプログラミング (Programmer’s SELECTION)

C++テンプレートメタプログラミング (Programmer’s SELECTION)

積み本消化シリーズ3。6月頃読みました。TMPのテクニックを学びたくて読んだのですが(もちろんTMPのテクニックも幾らか載っていましたが)、Boost.TMPの使い方、自作データ構造をBoost.TMPで使う方法が載っているリファレンス的な本でした。最後のプリプロセス時メタプログラミングの章が面白かったです。現行のC++の本でプリプロセス時メタプログラミング載っている本って他に無いんじゃないんでしょうか?

C++ ポケットリファレンス

C++ ポケットリファレンス

日本で唯一C++11に対応していると思われる本です。規格とか読んでいないので、この本で初めて知ったC++11の仕様がありました(例えばメンバ関数への参照修飾子など)。文字列のsplitやtrimの実装や、標準ライブラリのthread関連について読んでいて興味深かったです。

Exceptional C++―47のクイズ形式によるプログラム問題と解法 (C++ in‐Depth Series)

Exceptional C++―47のクイズ形式によるプログラム問題と解法 (C++ in‐Depth Series)

  • 作者: ハーブサッター,浜田光之,Harb Sutter,浜田真理
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 9人 クリック: 134回
  • この商品を含むブログ (62件) を見る

実は読んでいませんでした。積み本消化シリーズ4。6月頃読みました。オブジェクトの初期化順や、インターフェースの設計、例外安全な実装など落とし穴の回避方法が載っており、良いですが、流石に内容が古い感じは否めませんでした(auto_ptr薦めていたり)。

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

8月頃読みました。アジャイルというものはよく耳にしたことがあったのですが、具体的にどういうものか知らなかったので読みました。開発手法に関する知識も付けたいという狙いもありました。とても勉強になり、少数のプロジェクトならぜひ取り入れたいと思いました。進捗を可視化する方法(バーンダウンチャートなど)、仕様は変わるものと受け入れる、など新しい発見が多かったです。

プログラマが知るべき97のこと

プログラマが知るべき97のこと

来年からプログラマといて働きたい(切望)ので、プロとして知っておくべきことが纏まっているのでは無いかと思い読みました。暑さの割には読み応えがあり、読むのに結構時間かかりました。大体はバージョン管理しよう、とかテストを書こうという内容が多かったです。

Unityではじめるゲームづくり (DVD付) (ゲープロシリーズ)

Unityではじめるゲームづくり (DVD付) (ゲープロシリーズ)

10月頃読みました。巷で噂のUnityを触ってみようということで、友人からこの本を借りました。Unityのバージョン違いでUIが違っていてちょっと戸惑いましたが、Unityの使い方を体系的に学ぶことができました。

〔速攻入門〕 C#プログラミング すぐに現場で使える知識

〔速攻入門〕 C#プログラミング すぐに現場で使える知識

UnityのスクリプトをC#で書くので、折角ならちゃんとC#の使い方を覚えようと思いました。プログラミング自体は初心者ではなかったので、他の言語触ってる人向けのC#入門本を探していました。そしたらこれを見つけて購入しました。いい感じに知りたいことが載っていたので良かったです。

More Exceptional C++ さらに40のクイズ形式によるプログラム問題と解法 (C++ In‐Depth Series)

More Exceptional C++ さらに40のクイズ形式によるプログラム問題と解法 (C++ In‐Depth Series)

  • 作者: ハーブサッター,Herb Sutter,浜田光之,浜田真理
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2008/11/05
  • メディア: 単行本(ソフトカバー)
  • 購入: 2人 クリック: 32回
  • この商品を含むブログ (19件) を見る

11月頃読みました。積み本消化シリーズ5。直接の開発では使わなそうですが、興味深いトピック(純粋仮想関数に定義ができるがそれが有効な時がいつなのか、当時まだラムダ式の無いC++で関数内関数をどう実現するか、マクロを使うべき場面とは、など)が纏められていました。traitsによる設計やauto_ptrの欠点を補うValuePtrなど、実際の開発に使えそうなトピックもありました。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

12月頃読みました。最近読み終わりました。とても評判がいいので気になって購入。確かにプログラム書く人全員に読んで欲しい内容となっています。リファクタリングする時はこの本片手にリファクタリングすると良いのではないかと思います。繰り返し読んで全部暗記するぐらいしてもいいと思える本です。全部で200ページちょっとなので薄くて周回しやすいのも良いです。


以上で今年読んだ本です。たくさん読んだと自分では思っているのですが、今数えてみたらまだ積み本が16冊以上あるのでいつになったら全部読み終わるのやら… 1度読んだ本でも1回読んだらそれで終わりではなく、繰り返し読んでいきたいので更に時間かかりそうです。