回答ごとに1つずつください。お気に入りを回答として追加します。
コード完了 by Steve McConnell。説明は必要ないと思います。ソフトウェア構築に関する最も信頼できる本です。信じられないほどよく書かれていて、ソフトウェア作成の実用的な(プログラミング)側面のすべての側面をカバーしています。
簡単です。
SICPがまだリストされていないことを知ったとき、私は苦痛に顔をゆがめました。 :)
理由:これ以上追加するものはありません Norvig's この本を、これまでに作成されたコンピュータサイエンスの最高の紹介として賞賛します。ええ、なぜですか?要求された:SICPは、ソフトウェアの基本を満足のいく方法でカバーし、計算の性質について多くの見方と疑問を提起します-それらのかなりの数は未解決の問題のままですが、読者にマシンに伝えることの表面的な側面を超えて見るように導きます行う方法、またはその方法。
代替テキストhttp://ecx.images-Amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg
画像をクリックして オンラインのフリーテキスト にアクセスします。 著者によるビデオ講義 を簡単に見つけることもできます。
言及する価値がある:
設計パターン:再利用可能なオブジェクト指向ソフトウェアの要素
これはthe本を読むための本ですOOPデザインとアーキテクチャ。パターンは適切に使用すると良いですが、この本の真の価値は設計時に使用するアイデアのツールボックスを提供することです。
言語、フレームワーク、方法論は行き来しますが、この本の多くのアイデアは、永久に疑わしいと思います。
今日は私の本を数えました。彼らの23。それは私が取り組んでいることに依存します。時代を超えた答えは "C言語"、KernighanとRitchieによる だと思います。
レガシーコードを効果的に使用する Michael Feathers著。
これには、既存のコードベースをテストして管理しやすくするための多くの優れたヒントが含まれています。そのほとんどは、この本を読むまで知りませんでした。作業しているレガシーコードが昨日作成した独自のコードであっても、必ずお読みください。
The Art of Computer Programmingby Donald Knuth
Effective Java Josh Bloch著
Java Concurrency in Practice Brian Goetz著al。
Java Puzzlers Josh Bloch、Neal Gafter
Coders at work by Peter Seibel
興味深く、刺激的で、強くお勧めします。
ゲーデル、エッシャー、バッハ。
実用的なプログラマー:ジャーニーマンからマスターへ(Andrew HuntとDavid Thomas)
Getting Things Done (David Allen)は、ソフトウェア開発者としての日常の仕事で達成する必要がある何千もの小さなタスクに対処する方法を教えています。特に開発者向けではありませんが、ソフトウェア開発には通常、優先的に実行する必要のある非常に多数の小さなタスクが含まれるため、非常に貴重な支援です。たとえば、実装する新機能、修正するバグ、コードのどの部分をリファクタリングするか、コードのどの部分を休止または再テストするかなどです。
C++プログラミング言語 by Bjarne Stroustrup
Zen of Code Optimization by Michael Abrash
リアルタイムプログラマー向けの必読-プロセッサ固有の情報に日付が付けられている場合でも、考え方は非常に貴重です。
IPadは重要ですか?私の本棚で一番のことは、Webブラウザーと検索機能だと言いたいのですが。オンラインAPIとリファレンスが最適な場所であり、現在のプロジェクトセットによって異なります。
Rubyのデザインパターン:
ブルースF.ウェブスターの「オブジェクト指向開発の落とし穴」
オブジェクトやクラスが何であるのか、何のためにあるのかをまだ知らない "OO"開発者が多すぎます。優れたオブジェクト指向、手続き型、モジュール型、構造化プログラミングがどのように見えるかわからない。どういうわけか、ひどく作られた疑似手続きコードをクラスと一緒にまとめることができました。
この本(および構造化設計に関する70年代の古いものもいくつか)は、これらの貧しい魂が最終的に良いオブジェクト指向がどのように見えるべきかを理解するのに役立つのに役立ちます。
さらに、1冊の本と、この本の横にある1冊の本だけを選択するように強いられた場合、テクノロジー固有の本を選択しない可能性があります。
これは、最初にプログラミングを始めたときから手に入れていた数少ないプログラミングの本の1つです。私はこれを最初に始めた人々にたくさん貸していたものです。さて、それほど多くはありませんが、Cはもはや多くの人々の最初のプログラミング言語ではありません。それは舞台裏で何が起こっているかを説明する素晴らしい仕事をします、そしてポインターについてのその説明はそうでなければ多くの人にとって非常に混乱しているトピックであるものに真の明快さをもたらします。
Jon skeet's "c#in Depth"
オブジェクトデザイン:役割、責任、コラボレーション
これは断然私のお気に入りのプログラミング本です(言語に依存していなくても)。私の控えめな意見では、いとこ/兄弟/隣人に関連するオブジェクトを設計する方法についてのケースをよりよく提示する本です。真面目なプログラマーの本棚には必需品。
私の最も好きな本の1つ。