トップ «前の日記(2016-10-26) 最新 次の日記(2016-11-06)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2016-11-03

_ 新装版 達人プログラマー

オーム社の森田さんから新装版の達人プログラマーをいただいたので、ピアソン版と見比べながら読み返してみた。

2回目だと、1回目よりも意図が良くわかるというよりも、おそらく旧版で読んだ時よりも経験値が上がったからか、うーむなるほど、さっそく真似しようと考える点が新たに出て来て新鮮だった(完全に何をいまさらな話なのだが、自分でも信じられないが図2.1(確かに良く似た図はしょっちゅう書いているわけだが)の意図を今更ながら再認識してしまった。明日の仕事が増えた)。

というわけで、信じられないが(実際の仕事っぷりを見たわけではないから、アンディハントとデイブトーマスがそんなに凄まじい達人とも思えないわけだ。というわけで、おそらくwww.c2.comまわりのコミュニティの知識を集約した本と考えるのが筋なのだろう)、組み尽くせぬ泉のような本(おれにとっては2章、4章、5章、8章が特にそうだ)なので、以下の人はすぐに買って読むべき本だ。

で、ここで読むべき人について書くわけだが、おれは非常に懐疑主義者なので、本書の「まえがき」にある素直な「誰が本書を読むべきなのか?」は正しくないと考える。ここには「より効率的、そして、より生産的なプログラマーになりたいと願う方々のためのものです」とあるが、それはおそらく間違っている。

そうではなく、次のページに続く「達人プログラマーになるためには?」に書かれている2つのTip(旧版ではヒントとなっていて、16年の間にTipがヒントに取って変わった日本語の変遷にも少しは思いを馳せたいものだ)に当てはまる人が読むべきだと思う。

・自らの技術に関心をもつこと → 自らの技術に関心を持っている人

・あなたの仕事について考えること → 自分の仕事について考えている/考えられる人

ということだ。これが最初になければ、そもそも達人プログラマーを読もうと考えるわけがないし、与えられても図が少なくて読みにくいといった感想しか持たないのは当然だ。

では、旧版を持っている/読んだ人に新装版が必要か? というと、必要ないと思う。

判型が小さくなって読みやすくなったという利点はあるが、基本、同じ本だ。

違いは、新たな読者のために相当な配慮を訳者の方がされているという点だ。

たとえば、端的な例として、ソースコード管理ツールについて本文はオリジナル通りSCCS(というかSYSVを使っていたおれですらRCSをポートしていたくらいに誰も使わないし、今は完全消滅だ)としているが、チャレンジの訳注で筆頭にGitと書いてある。もちろん、付録にも。(かといって付録は必ずしも補足されているわけでもない。訳注にはWindowsのシェルとしてPowerShellとbash on Windowsが出ているが、付録のDOS上で稼働するUnixツール(PowerShellは当てはまらないから良いとして)は昔通りUWINとCygnus CygwinとPerlパワーツールのままだ)

本文に手を入れている例としては、「柔軟なアーキテクチャ」(P.52)で、ソフトウェアのターゲットについて自問すべき例として「どのブラウザのどのバージョンを対象にするのでしょうか?」(その前にあれ? となるもっと極端な例が追加されているけど)というのが入っている。

でも、15年前に旧版を買った人のポートフォリオには15年前の本に書かれたものが積まれているはずだから無問題だろう。

新装版 達人プログラマー 職人から名匠への道(Andrew Hunt/David Thomas/村上雅章)

それにしても良い言葉が多い。

「トラッシュにするのではなく、クラッシュさせる」

まったくその通り。例外を握りつぶすくらいなら、コンソール(リダイレクトされている前提で)にスタックトレースを吐かせるほうが1億倍良い。中途半端に動き続けてデータベースを破壊するくらいなら、止まるほうが100億倍ましだ。

「枠にとらわれずに考えるのではなく、枠を見つけ出すこと」

正しい。まったくその通りだし、実にうまく表現していて感心する。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|

ジェズイットを見習え