それらの本はすべて非常に、非常に、非常に古いようです。最近と本が書かれた時期に違いがあると思いませんか?
私見では、非常に優れた本が何十年も人気を維持していることは驚くことではありません。しかし、私はあなたがリストした各候補者に何かを伝えることができると思います:
Code complete: 2nd edition = may, 2004
実際、「Code complete」の最初のエディションは1993年からでした。したがって、これは実際には「クラシック」です。Cファミリーのほぼすべてのプログラミング言語に適用される例を使用した基本的なコーディングスタイルに関するもので、現在最も人気のある言語(C / C ++ / Java / C#/ Objective-C / D / ...)が含まれています。はい、この本は最新です。
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
まあ、私は実際にその本を読んでいませんでした(私のアルゴリズムのテキスト本は「Sedgewick」からでした)が、学習アルゴリズムとアルゴリズム構築は本当に言語に依存しません。もちろん、最近では標準ライブラリで多くの基本的なアルゴリズムが見つかっているため、この技術は過去数年で過小評価されていますが、IMHOのすべてのプロのプログラマーはこの分野で基本的な知識を持っている必要があります。
The Pragmatic Programmer
これは、職人技としてのプログラミングに関する非常に良い本です。プログラミングがテキストエディター、IDE、バージョン管理などを使用して手動タスクとしてプログラマーによって行われている限り、言語に依存せず、非常に最新の状態です。
Structure and Interpretation of Computer Programs: = September 1, 1996
本は、Schemeを使用して異なるプログラミングパラダイムの違いを教えていますが、これは私の個人的なお気に入りです。抽象化の構築にこれほど重点を置いている本は他にありません。そして抽象化の構築は、平凡なプログラマーとトッププログラマーの違いを生む重要な能力です。過去数十年は変わっていません。さらに、関数型言語と言語要素は最近人気が高まっているため、この本で提示されたアイデアはルネッサンスになりました。
The C Programming Language
まあ、この本は他の4つほど不朽のものではないかもしれません。しかし、Cは上記のすべての人気言語の「母」のようなものなので、この本を読むことも良い考えかもしれません。そして、CをC ++よりもよく知っている人が書いたC ++コードの保守プログラミングを行う必要がある場合、この本は必須です。
最後に、あなたは、技術特有でありすぎることなく、「現在の現実」をより考慮した本を求めていました。それでは、「現在の現実」とは何であり、「非技術」側で何が変わったのでしょうか?ここに、このリストが完全であるか、正しい優先順位を持っていることは言うまでもなく、過去10年間のいくつかのポイントがあります。
- より多くのレガシーコードが存在します(特に、FortranおよびCobolだけでなく、C ++およびJavaにもレガシーコードが多くあります)。
- 単体テストとTDDがより好まれています。
- さらに多くのオープンソースコードが利用可能です。
- オブジェクト指向はますます批評家を得ています
(ここではWebやアプリの開発については何もリストしません。この技術に特化したものだと思うからです)。
トピック1と2、特に2008年の"Clean Code"と2004年の"レガシーコードを効果的に使用する"に適した本があります。