【新生活応援】これから仕事でプログラミングを始める人のための書籍『プリンシプル オブ プログラミング』
世間はいよいよ年度末だというのに、ちょっと恥ずかしいくらい平常どおりの生活を送っている kagata です。
今回はあすから新年度ということで、 新生活応援キャンペーン中の Qiita さんに影響される形で新人さんに読んでもらいたい本を1冊ご紹介します。
『ストラテジック チョイス』と『プリンシプル オブ プログラミング』
表題のとおり、今回おすすめする書籍は今月出たばかりの新刊『プリンシプル オブ プログラミング』です。
プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則|書籍情報|秀和システム
著者は『ストラテジック チョイス』というブログの中の人です。
著者はソフトウェア開発の技術書800冊を読破したそうで、『ストラテジック チョイス』ではそれら技術書に出てくるソフトウェア開発の原理原則がちょっとこわいくらい網羅されています。そしてその書籍版?がこのほど発売された『プリンシプル オブ プログラミング』です。
『ストラテジック チョイス』さんには調べ物のおりに以前からちょくちょくお世話になっていたので、書籍のほうもさっそく読んでみました。
よいところ:800冊が1冊に
『プリンシプル オブ プログラミング』のよいところは、なんといってもその携帯性です。薄いというほどではないですがまあ常識的な厚さで、そして見た目より軽いです。そこに名著800冊分に相当する知恵が詰まっている(800冊すべてが引用されているわけではないですが、それらがベースになっているはず)と考えると、驚異的です。
本の紹介で内容より先に薄いだの軽いだのと騒ぐのは、最近読んだ『アジャイルソフトウェア開発の奥義』が厚くて重くて往生したからです。通勤電車で読もうとすると、かばんがやたら重くなるし、場合によってはかばんのふたが閉まらない日すらありました。こういうことが起こらないというのは実用上大事なことです(真顔)。
また、新人に読んでもらおうと思ったときにも、これくらい薄くて軽いほうが気安くすすめられると思います。厚いものを渡して途中で挫折されたら元も子もありません。名著の中からどれをすすめるか迷う…というときでも、この本ならそのすべてを読んでもらうかわりになる…かもしれません。
もうちょっとなところ:ほんとは原典がおもしろい
と、教育面ではいろいろ便利そうなこの本ですが、正直に告白するとわたし個人としてはちょっと読むのがつらかったです。原因は主に『すでに読んだ本の引用が多かった』ことにあるような気がします。
ある程度予備知識を持った上で読むと、どうしても原典と比べて
- 淡白で単調
- 結論ありき、天下り的
- ケーススタディやサンプルコードがない
などの点がもの足りなく感じることがあります。
もしかすると、予備知識を持たない新人さんなら、もっと新鮮な気持ちで楽しめるのかもしれません。そうだとしても「原典はもっとおもしろいよ、そっちも読んでみるといいよ」と念を押しておきたいところです。
結論:仕事の前にまずは読もう!
どんな現場であれ、仕事でプログラムを書くとなれば言語の解説書などを自然に読むことになると思います。文法を知らないと1行もコードを書けず、仕事にならないからです。
一方『プリンシプル オブ プログラミング』やその引用文献が説く原理原則というのは「知らなくてもとりあえずコードは書ける」たぐいのもので、ややもするとこういう勉強をしないままプログラミング歴だけ長くなっていったりします(わたし自身わりとそうでした)。そうすると、昔書いたコードがあとから読めないとか、仕様の変更に柔軟に対応できないとか、ソフトウェア開発の現場でごくありふれた(そしてある程度解決策が知られている)問題に苦しむことになります。
そうして本来しなくていい苦労をそうと気づかず積み重ねていくことのないよう、プログラマーとしてのキャリアの最初にこういう知識を持っておくのは大事なことではないかと思います。そのための入り口として『プリンシプル オブ プログラミング』はおすすめです。