SSブログ

専門書には間違いもある [プログラマー現役続行]

一冊の専門書を仕上げるというのは大変な作業であり、出版時に誤りが残っているのは普通です。たとえば、『The Go Programming Language』のErrata(正誤表)を見てみるとすでに20項目弱の訂正が掲載されています。

技術書の誤りに関しては、拙著『プログラマー”まだまだ”現役続行』に「専門書には間違いもある」として書いているものを引用しておきます。

専門書には間違いもある

 専門書を読む際に注意しなければならないのは、たとえ専門家が書いていたとしても、誤植などの誤りがあるということです。そう思って読む必要があります。一冊の本を仕上げるという作業は、膨大な時間を要する作業であり、どうしても完全に仕上げることは不可能である場合が多いからです。つまり、説明が間違っている場合もあるということです。
 さらに、たとえばサンプルコードなども、必ずしも適切でない場合もあると思って読むことです。よく、そのような間違った記述や不適切なコードが書かれている本を根拠に、論理的に矛盾していても「本に書いてある」と主張するエンジニアがいたりします。みなさんは、くれぐれもこのようなエンジニアにならないように心がけてください。
 そして、間違いかなと思ったら、正誤表(英語ではErrata)が公開されていないかを探して、公開されていればすでに掲載されているかを確認します。公開されている正誤表に掲載されていなかったり、正誤表が見つからなかったりした場合には、著者や翻訳者へメールなどで連絡してください。本の間違いであれば、著者や翻訳者によっては、正誤表の謝辞の欄に名前を掲載してくれたりします。
 私の場合、最近では、誤りだと思われる箇所については躊躇なく著者へメールで問い合わせるようになりましたが、記憶にある最初のメールはスレッドプログラミングに関する記述の間違いの指摘でした。
 1993年に、あるプロジェクトでマルチスレッドプログラミングをするようになったのですが、当時はマルチスレッドプログラミングに関する書籍はほとんどない状態でした。しかし、プロジェクトが終わりかけた1995年頃、いくつかの書籍が出版されて、その中の一冊を読んでいました。自分の知識を復習する意味で読んでいたのですが、今まで行ってきたマルチスレッドプログラミングの前提を覆すような記述があり、その記述は間違いではないかと指摘するメールを送ったのです。著者からは、記述が誤りであるという返信が返ってきたのですが、その誤りを指摘したのは私が最初だったようです。そのときの返信を印刷したものを、今でもその書籍に挿んであります。
 たとえつたない英語であっても、間違いを連絡してもらえれば、著者にとっては助かりますし、正誤表の謝辞欄に掲載されている自分の名前を見るのは嬉しいものです。
 誤りの指摘をするには、単なる誤字脱字ならば簡単なことですが、技術的内容であれば、自分でもサンプルプログラムを書いて確認したり、ソースコードを調べたりする必要があります。そのような調査を行うことも、技術者としてのレベル向上に役立ちます。そして、いくつもの指摘を実際にすることで、技術者としての信頼を著者から得ることもできたりします。
 そのためには、業務で使用している技術に関しては、きちんと学習することです。おそらく、業務ではその技術のすべてを使用していないかもしれませんが、使用していない部分に関しても学習することが重要です。
 時には、誤りだと思った事柄が実は正しくて、自分自身が誤解して技術を理解している場合もあります。その場合であっても、著者へメールで誤りではないかと知らせることで、実は、あなたの勘違いですよと説明してもらえたりします。その場合でも、自分の不正確な理解を正す良い機会となりますので、積極的に著者へ問い合わせることをお勧めします。
『プログラマー”まだまだ”現役続行』(p.108)

プログラマー”まだまだ”現役続行 (技評SE選書)

プログラマー”まだまだ”現役続行 (技評SE選書)

  • 作者: 柴田 芳樹
  • 出版社/メーカー: 技術評論社
  • 発売日: 2010/09/04
  • メディア: 単行本(ソフトカバー)