新人プログラマが身につけるべき 知らないと恥をかくプログラミングの常識

新人プログラマが身につけるべき 知らないと恥をかくプログラミングの常識

書名:新人プログラマが身につけるべき 知らないと恥をかくプログラミングの常識
著者:日向 俊二


久しぶりにタイトル通りの内容の著作に出会った。
しかも良書である。


さすがに3年目にもなると、本書に書かれている多くのことについては知っている状態になっている(知らないと仕事にならない)。
それでも漠然とした理解だった点(パフォーマンスのトレードオフについて)や、携わったことがないため解らなかった点(暗号化の常識について)、そして恥ずかしながら知っておくべきなのに知らなかった点(敢えて通常使う型よりも小さな・大きな型を使用する場合)などがあり、勉強になった。
出来ればこれも1年目に読んでおきたかった本である(そうすれば、特定の言語を勉強する時に、どの点に注目すればよいのかが解ったはずであるから)。


この本の内容は見事なまでにタイトル通りである。
このような知識は入門書ではあまり触れられておらず、かといって中級以上の書籍では既に当たり前になっているので敢えて記述されていないことから、書籍から習得する機会があまりない。
現場で自ら気がつくか、先輩から指摘されて初めて学ぶことの出来る類の「常識」である。


であれば、本書は読む必要がないのではないかというと、それは違う。
上述したとおり、現場で2年間の業務経験を持つ私でも、触れる機会がなくて学ぶことが出来なかった常識がある。
また、忙しさや社風から現場であまり新人にこのような常識を教える機会がないという職場もあるだろう。
本書で扱われている内容は「知ってて当然」という内容であり、知らずにこれに反することをしていたらまず間違いなく怒られるし(それならばそこでチェックが働いているからまだ良い)、最悪、ひどいソフトウェアをそのまま出荷してしまってとんでもない損害を引き起こすこともあり得る(例外の話などがこれに該当する)。
つまり、本書で書かれている内容は、職業プログラマ全て知っていなければならない事項なのである。


また、技術的な話だけでなく、「プログラムはコンパイルして実行する時には基本的にエラーがない状態にしておくべきで、実行しながら修正するという態度はいけない(Runの功罪)」や、「プログラムはバグがないことを目指して組むべき(デバッグの技法)」など、プログラミング時の姿勢・態度についてまで言及してある点が良い。
このような姿勢・態度は、それこそ先輩から教わる機会がなければそもそもどこで習うのだ、というものであり、そういう意味では本書はその救済となっているのである。


難点を上げるとすれば、前半の丁寧さと比較して後半のトピックの説明がやや雑(というよりも説明不足。紙幅の都合なのか?)という点である(後半はちょっとプログラム初心者には読みづらそうだ)。
だが、内容は平易なので、プログラム初心者でもがんばれば読み通せるはず。
本書はなるたけ早い時期に(後になればなるほど恥の度合いが大きくなる)読んでおくべき書である。
自信のある人はぱらぱらとめくるだけでもよい。
自分の持っている常識を確認するためにも、一読をお勧めする。