协慌网

登录 贡献 社区

每位程序员应阅读的最具影响力的单一书籍是什么?

如果你可以回到过去并告诉自己在开始时作为开发人员阅读一本特定的书,那本书会是哪本书?

我希望这个列表可以变化,涵盖范围广泛。

要搜索:使用右上角的搜索框。要搜索当前问题的答案,请使用inquestion:this 。例如:

inquestion:this "Code Complete"

答案

  • 由 Steve McConnell 编写的Code Complete (第 2 版)
  • 务实的程序员
  • 计算机程序的结构与解释
  • Kernighan 和 Ritchie 的 C 编程语言
  • Cormen,Leiserson,Rivest&Stein 的算法简介
  • 四人帮的设计模式
  • 重构:改进现有规范的设计
  • 神话人月
  • 唐纳德克努特的计算机编程艺术
  • 编译器: Alfred V. Aho,Ravi Sethi 和 Jeffrey D. Ullman 的原理,技术和工具
  • Gödel,Escher,Bach by Douglas Hofstadter
  • 清洁代码: Robert C. Martin 的敏捷软件工艺手册
  • 有效的 C ++
  • 更有效的 C ++
  • Charles Petzold 的CODE
  • 编程珍珠由 Jon Bentley 编写
  • Michael C. Feathers 有效地使用遗产代码
  • Demarco 和 Lister 的Peopleware
  • Peter Seibel 的 “ 工作中编码员”
  • 当然,你是在开玩笑,费曼先生!
  • 有效的 Java第 2 版
  • Martin Fowler 的企业应用架构模式
  • 小计划者
  • 经验丰富的计划者
  • 为什么(Poignant)Ruby 指南
  • 囚犯正在运行庇护:为什么高科技产品让我们疯狂以及如何恢复理智
  • Unix 编程的艺术
  • 测试驱动开发: Kent Beck 的例子
  • 敏捷开发人员的实践
  • 不要让我思考
  • Robert C. Martin 的敏捷软件开发,原则,模式和实践
  • Eric Evans 的领域驱动设计
  • 唐纳德诺曼的日常事物设计
  • Andrei Alexandrescu 的现代 C ++ 设计
  • 最佳软件写作由 Joel Spolsky 撰写
  • Kernighan 和 Pike 编程的实践
  • 务实的思考和学习:安迪亨特重构你的 Wetware
  • 软件评估:史蒂夫麦康纳揭开黑人艺术神秘面纱
  • Chad Fowler 的充满激情的程序员(我的工作去了印度)
  • 黑客:计算机革命的英雄
  • 算法 + 数据结构 = 程序
  • 编写固体代码
  • JavaScript - 好的部分
  • 通过 37 个信号获得真实
  • Karl Seguin 的编程基础
  • 计算机图形学:C 的原理与实践 (第 2 版)
  • 由 Bruce Eckel 用 Java 思考
  • 计算系统的要素
  • Joshua Kerievsky 对模式重构
  • Andrew S. Tanenbaum 的现代操作系统
  • 注释图灵
  • 唐纳德诺曼让我们变得聪明事情
  • 克里斯托弗亚历山大的永恒建筑方式
  • 截止日期: Tom DeMarco 关于项目管理小说
  • Stroustrup 的 C ++ 编程语言(第 3 版)
  • 企业应用架构模式
  • 计算机系统 - 程序员的视角
  • C#中敏捷原则,模式和实践由 Robert C. Martin 撰写
  • 测试的指导下不断发展的面向对象软件
  • Brad Abrams 的框架设计指南
  • David West 博士的对象思考
  • 由 W. Richard Stevens 在 UNIX 环境中进行高级编程
  • 黑客和画家:计算机时代的重大创意
  • Tracy Kidder 的新机器灵魂
  • CLR 通过 C# by Jeffrey Richter
  • 克里斯托弗亚历山大的永恒建筑方式
  • Steve Metsker 在 C#中设计模式
  • 刘易斯卡罗尔的爱丽丝梦游仙境
  • 禅宗和 Robert M. Pirsig 的摩托车维修艺术
  • 关于面 - 交互设计的要点
  • 每个人都来: Clay Shirky 没有组织的组织力量
  • 编程之道
  • 自然的计算美
  • 编写 Steve Maguire 的固体代码
  • 菲利普和亚历克斯的网络出版指南
  • 面向对象的分析与设计与 Grady Booch 的应用
  • 约书亚布洛赫的有效 Java
  • NJ Cutland 的可计算性
  • 编程的主人
  • 道德经
  • 富有成效的程序员
  • 凯文米特尼克的欺骗艺术
  • 职业程序员: Christopher Duncan 为一个不完美世界游击战术
  • 人工智能规划范式:Common Lisp 中的案例研究
  • 厄运大师
  • 由 Andy Hunt 和 Dave Thomas 与 Matt Hargett 在 C#中使用 NUnit进行语用单元测试
  • George Polya 如何解决这个问题
  • 保罗科埃略的炼金术士
  • Smalltalk-80:语言及其实现
  • 编写安全代码 (第 2 版)作者:Michael Howard
  • Philip Wadler 和 Richard Bird 的功能编程简介
  • 没有虫子!作者:David Thielen
  • 由 Jason Freid 和 DHH 重做
  • JUnit in Action

K&R

@Juan:我知道 Juan,我知道 - 但是有些事情只能通过实际掌握手头的任务来学习。整天在抽象的理想中说话只会让你成为一名学者。正是在抽象的应用中,我们才真正理解它们存在的原因。 :P

@Keith:很好地提到 Alan Cooper 的 “囚犯正在逃避庇护” - 这是一个让人大开眼界的开明者,自从我读到这本书后,任何与我合作过的开发者都听到我提到它所支持的想法。 +1

人工智能编程范式 :Peter Norvig 的 Common Lisp 案例研究

在此输入图像描述

我开始阅读它是因为我想学习 Common Lisp。当我中途休息时,我意识到这是迄今为止我读过的关于编程的最好的书。