読後レビュー|『達人プログラマー(第 2 版)』

ども、Nash です。

今回、達人プログラマー(第 2 版)を読み終えたので読後レビューを書いていきます。

では、見ていきます。

この本はどんな本?

ソフトウェア開発における汎用的かつ重要な思想やプラクティスについて説明・紹介している本です。

第 1 版から 20 年たち 2020 年 11 月に第 2 版が発売されました。第 1 版から第 2 版になるにあたってかなりの比率で新しく刷新されています。そのため、自分もすでに過去に第 1 版を読んでいたのですが、今回あらためて第 2 版を読み直すことにしました。

2022 年の技術者本の大賞

この本は翔泳社にて行われている毎年恒例の IT エンジニア本大賞にてトップの 技術書部門大賞となった本です。

もともと名著なのですが、やはり第 2 版では更に名著に磨きがかかってました。

この本から得られること

下記のようなことが得られるかと思います。

  • ソフトウェア開発における汎用的な思想・プラクティス

この本はだれが読むべき?

ソフトウェア開発者はすべての人が読むべきです。

個人系に、おすすめの対象読者のスコープを広げるような書き方は好きではないのですが、この本については特別にこのような書き方になります。というのも、この本から得られる内容があまりにも重要かつ普遍的かつ汎用的だからです。

つまり、ソフトウェア開発者として仕事を通してこの本に書かれていることに遭遇しないということはまずありえないからです。

だれが読んだの

この本を読んだ自分の簡単な自己紹介です。

メガバンクを顧客にした SIer で金融系 SE として活動したのち Web 系へ転職。 自社サービス・受託システムの両方で開発・マネジメントを経験した後、エンジニアリングを中心にしたフリーランスとして活動しています。

書評

では、自分が読んだ結果の評論を書いていきます。

モダンな設計思想

コード実装レベルの設計思想について、現代の開発で重要視されているようなものを改めて整理することが出来ました。例えば下記のようなトピックです。

  • ETC(Easier To Change)
  • DbC(Design by Contract)
  • Assertion in Programming(表明プログラミング)

Rust/Elixir などのモダン言語で説明

個人的に驚いたのは、具体例で Rust や Elixir といったモダン言語が持ち合わせている機能を実例として紹介しているような点です。

  • Rust の所有権
  • Elixir のパイプライン、パターンマッチ

様々な言語の特性をまじえながら紹介するような技術書を見たことがなかったので、構成として面白いなーと思いながら読んでいました。

他の本との比較:リーダブルコード

リーダブルコードはより実際のコードのレイヤーに近いような話題がメインになります。

達人プログラマーではリーダブルコードと同じレイヤーの実装レベルの話もありますが、より抽象的な設計レベルの話なども多くあります。

他の本との比較:プリンシパルオブプログラミング

プリンシパルオブプログラミングは、もっと辞書としての役割が強い傾向です。

また、プリンシパルオブプログラミングと達人プログラマーでかぶっている箇所もそれなりにあるます。ですが、逆にかぶっていない箇所もそれなりにあります。むしろ、達人プログラマーにのみある内容はおそらく第 2 版で追加された現代ソフトウェア開発の内容なので、より重要な思想だったりします。

おわりに

名著な上に現代の思想を取り入れた第 2 版ということで、かなり有意義な内容でした。

第 1 版を読んでいた人もまだ読んでいない人も、これを機に読むことをおすすめします。

この本から得られること

  • ソフトウェア開発における汎用的な思想・プラクティス

この本はだれが読むべき?

ソフトウェア開発者はすべての人が読むべき