1438

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

我希望这份清单是多种多样的,涵盖的范围很广。

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

inquestion:this "Code Complete"
4

214 回答 214

1745
  • 史蒂夫·麦康奈尔(Steve McConnell)的代码完成(第 2 版)
  • 务实的程序员
  • 计算机程序的结构和解释
  • Kernighan 和 Ritchie的 C 编程语言
  • Cormen、Leiserson、Rivest 和 Stein的算法简介
  • 四人组的设计模式
  • 重构:改进现有代码的设计
  • 神话人物月
  • Donald Knuth的计算机编程艺术
  • 编译器: Alfred V. Aho、Ravi Sethi 和 Jeffrey D. Ullman 的原则、技术和工具
  • 道格拉斯·霍夫施塔特的哥德尔、埃舍尔、巴赫
  • 清洁代码: Robert C. Martin的敏捷软件工艺手册
  • 有效的 C++
  • 更有效的 C++
  • Charles Petzold 的代码
  • Jon Bentley 的编程珍珠
  • Michael C. Feathers有效地使用遗留代码
  • Demarco 和 Lister 的Peopleware
  • 工作中的编码员 Peter Seibel
  • 你肯定在开玩笑,费曼先生!
  • 有效的 Java第 2 版
  • Martin Fowler的企业应用架构模式
  • 小谋士
  • 经验丰富的计划者
  • 为什么(辛酸)Ruby 指南
  • 囚犯们正在运行庇护:为什么高科技产品让我们发疯以及如何恢复理智
  • Unix 编程的艺术
  • 测试驱动开发:以 Kent Beck为例
  • 敏捷开发人员的实践
  • 不要让我思考
  • Robert C. Martin 的敏捷软件开发、原则、模式和实践
  • Eric Evans 的领域驱动设计
  • 唐纳德·诺曼的日常用品设计
  • Andrei Alexandrescu 的现代 C++ 设计
  • Joel Spolsky最佳软件写作 I
  • Kernighan 和 Pike的编程实践
  • 务实的思考和学习:重构你的 Wetware by Andy Hunt
  • 软件估计:揭秘史蒂夫·麦康奈尔的黑色艺术
  • Chad Fowler的《热情的程序员(我的工作去了印度) 》
  • 黑客:计算机革命的英雄
  • 算法 + 数据结构 = 程序
  • 编写可靠的代码
  • JavaScript - 好的部分
  • 通过 37 个信号变得真实
  • Karl Seguin的编程基础
  • 计算机图形学:C 语言原理与实践(第 2 版)
  • Bruce Eckel 用 Ja​​va思考
  • 计算系统的元素
  • Joshua Kerievsky重构模式
  • Andrew S. Tanenbaum 的现代操作系统
  • 带注释的图灵
  • 让我们变得聪明的事情唐纳德·诺曼
  • 克里斯托弗亚历山大的永恒建筑方式
  • 截止日期: Tom DeMarco的关于项目管理的小说
  • Stroustrup的 C++ 编程语言(第 3 版)
  • 企业应用架构模式
  • 计算机系统——程序员的视角
  • Robert C. Martin的 C# 中的敏捷原则、模式和实践
  • 以测试为指导的不断发展的面向对象软件
  • Brad Abrams 的框架设计指南
  • 大卫韦斯特博士的对象思维
  • W. Richard Stevens在 UNIX 环境中的高级编程
  • 黑客和画家:计算机时代的大创意
  • Tracy Kidder新机器的灵魂
  • CLR 通过 C#由 Jeffrey Richter
  • 克里斯托弗亚历山大的永恒建筑方式
  • Steve Metsker的 C# 设计模式
  • 刘易斯卡罗尔的《爱丽丝梦游仙境》
  • 禅与摩托车维修艺术Robert M. Pirsig
  • 关于面子——交互设计的精髓
  • 每个人都来了:没有组织的组织的力量Clay Shirky
  • 编程之道
  • 自然的计算之美
  • Steve Maguire编写可靠的代码
  • 菲利普和亚历克斯的网络出版指南
  • Grady Booch的面向对象分析和应用程序设计
  • Joshua Bloch 的《有效的 Java 》
  • NJ Cutland 的可计算性
  • 编程大师
  • 道德经
  • 高效的程序员
  • 凯文米特尼克的欺骗艺术
  • 职业程序员:不完美世界的游击战术克里斯托弗·邓肯
  • 人工智能编程范式:Common Lisp 中的案例研究
  • 末日大师
  • Andy Hunt 和 Dave Thomas 和 Matt Hargett在 C# 中使用 NUnit 进行实用单元测试
  • 如何解决乔治波利亚
  • Paulo Coelho的炼金术士
  • Smalltalk-80:语言及其实现
  • Michael Howard编写安全代码(第 2 版)
  • Philip Wadler 和 Richard Bird的函数式编程简介
  • 没有错误!大卫·蒂伦
  • Jason Freid 和 DHH返工
  • JUnit 在行动
于 2008-08-04T23:51:07.737 回答
9

极限编程解释:拥抱变化由肯特贝克。虽然我不提倡在软件开发方面采用硬核 XP 或高速公路,但我希望我在职业生涯的早期就已经了解了本书中的原则。单元测试、重构、简单性、持续集成、成本/时间/质量/范围——这些改变了我看待开发的方式。在敏捷之前,一切都是关于调试器和对变更请求的恐惧。敏捷之后,那些恶魔就没有那么大了。

于 2009-09-18T03:34:36.420 回答
9

K&R

@Juan:我知道 Juan,我知道 - 但有些东西只能通过真正投入手头的任务来学习。整天讲抽象的理想只会让你成为一名学者。正是在摘要的应用中,我们才真正了解了它们存在的原因。:P

@Keith:Alan Cooper 对“The Inmates are Running the Asylum”的大力提及——这确实让我大开眼界,自从我阅读那本书以来,任何与我合作过的开发人员都听到我提到了它所支持的想法。+1

于 2008-08-21T19:58:25.350 回答
9

Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig

enter image description here

I started reading it because I wanted to learn Common Lisp. When I was halfway, I realized this was the greatest book about programming I had read so far.

于 2008-09-16T13:51:00.600 回答
9

Benjamin C Pierce 的Types and Programming Languages对编程语言的基础有透彻的理解。

于 2010-05-26T12:01:43.767 回答
9

计算机科学家的离散数学 http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

JK Truss为计算机科学家提供的离散数学。

虽然这不会教你编程,但它会教你每个程序员都应该知道的基础数学。您可能还记得大学时的这些东西,但实际上,做谓词逻辑会提高您的编程技能,如果您想使用集合进行编程,则需要学习集合论。

这里确实有很多有趣的信息,可以让你以不同的方式思考问题。拥有它很方便,只是偶尔学习一些新东西。

于 2008-10-14T12:04:58.113 回答
9

我个人的最爱之一是Hacker's Delight,因为它既有趣又具有教育意义。

希望第二版快点出!

于 2009-06-07T17:38:52.937 回答
9

绝对的软件工艺

替代文字 http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg

这本书解释了很多关于软件工程、系统开发的东西。了解不同类型的产品开发之间的区别也非常有用:web VS shrinkwrap VS IBM 框架。人们在构思瀑布模型时的想法是什么?阅读本文,我们将变得清晰(希望如此)

于 2008-12-16T12:43:14.983 回答
9

《数据库系统概念》是您可以阅读的关于理解良好数据库设计原则的最佳书籍之一。

替代文字

于 2010-11-18T19:27:10.800 回答
9

系统学:系统如何工作,尤其是它们如何失败。便宜用就行。但是,在您参与过一些失败的项目之前,您可能无法获得幽默感。

这本书的美妙之处在于版权年。

可能是书中提出的最深刻的外卖“法则”:

基本故障模式定理 (FFT):复杂系统通常在故障模式下运行。

这个想法是在任何给定的软件中都有失败的部分被其他部分的失败或其他部分的验证所掩盖。查看Therac-25 辐射机的真实示例,其软件缺陷被硬件故障保护所掩盖。当硬件故障保护被移除时,多年来一直未被发现的软件竞争状况导致机器杀死了 3 人。

于 2008-11-19T05:57:39.880 回答
9

编程实践。作者:Brian W. Kernighan,Rob Pike。

这里展示的风格非常好——代码不言自明,整本书都遵循 KISS 原则。就个人而言,不是我选择的语言,但对我仍然有影响。

于 2009-09-18T13:24:32.823 回答
9

从头开始编程。它在互联网上是免费的。这本书教会了我 AT&T asm。这很容易阅读。

替代文字

于 2010-11-23T03:15:27.000 回答
8

托马斯弗里德曼的《世界是平的》。

卓越的编程需要投入脑力,并致力于与医学或法律专业相媲美的持续学习。它支付的只是这些职业的一小部分,更不用说支付给那些进入金融领域的精通数学的人的工资了。构建代码的工资正在下降,因为在大多数经济体中,对于聪明和自律的人来说,这是一个相对容易进入的职业。

编程已经被侵蚀到支付少于管道的地步。管道不能“离岸”。您无需支付 2395 美元就可以每隔一年参加一次专业管道工会议,即可获得一套全新的管道技术,这将花费您一年的时间来学习。

如果你住在北美或欧洲,又年轻又聪明,那么编程就不是一个理性的职业选择。绝对是涉及编程的业务。学习商业,对编程有足够的了解来改进你的 BS 探测器:太棒了。但是将大部分精力用于掌握库、数据结构和算法?仅当编程对您而言比经济选择更重要时,这才有意义。

如果您热爱编程并因此打算将其作为您的职业,那么您应该对正在并将继续的力量形成冷眼的理解,使其成为一个越来越难谋生的职业. “世界是平的”不会教你如何命名变量,但它会让你沉浸在已经到来的经济现实中 6 或 8 个小时。如果您可以阅读它并且不害怕,那就出去购买“代码完成”。

于 2008-09-16T03:25:30.463 回答
8

Object Oriented Analysis and Design with Applications by Brady Booch

于 2010-03-02T11:44:38.060 回答
8

Python 语言对我的影响很大,我希望我早在几年前就读过这本书。Python 语言的优美和简洁确实影响了我用其他语言编写代码的方式。

替代文字 替代文字

于 2010-10-24T15:01:53.620 回答
8

@Peter Coulton - 你不读 Knuth,你研究它。

对我和我的工作来说……纯函数式数据结构非常适合用函数式语言进行思考和开发。

于 2008-08-05T01:25:46.643 回答
8

新图灵综合 http://ecx.images-amazon.com/images/I/51HlYd-%2BRwL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg

真是好书。对计算机科学最重要的领域有高水平的品味。是的,CS != 编程,但这对每个程序员仍然有用。

于 2009-12-27T23:36:49.270 回答
8

编程实践

替代文字

电脑怎么解决

替代文字 http://img.infibeam.com/img/7101e0ee/496b1/05/629/PMB-9788131705629.jpg?hei=200&wid=160&op_sharpen=1

于 2010-07-27T17:27:23.930 回答
8

替代文字

去年我上了很多课。我读

The Innovator's Dilemma (disruptive tech)
The Mythical Man Month (管理软件)
Crossing the Chasm (startup)
Database Management Systems, The COW Book
Programming C#, The OSTRICH Book Starting
iPhone Developmen, The GRAPEFRUIT Book

每本书都很棒,但 Clayton Christensen 的《创新者的困境》(1997 年!!!)确实是一本很棒的书,它让我真正思考了现代软件世界。解决的挑战是颠覆性技术,以及磁盘驱动器公司和非技术公司如何总是被新的、改变游戏规则的技术所破坏。在考虑可能是最大的“网络”公司 Google 时,它​​提供了一个新的视角。为什么他们在所有事情中都掌握了主动权?这是因为他们不想让自己的位置被新事物打乱。谷歌上的预览足以让您了解这个想法。阅读!

于 2009-07-23T01:24:27.453 回答
8

黑客,作者 Steven Levy。

个性和生活方式必须是第一位的。其他的都可以学习。

于 2009-11-26T20:04:24.463 回答
7

Kernighan & Plauger 的编程风格元素。它说明了花哨的聪明和优雅的聪明之间的区别。

于 2009-06-03T20:01:04.630 回答
7

Fred Brooks 的神话人物月 http://en.wikipedia.org/wiki/The_Mythical_Man-Month

于 2008-08-21T20:02:07.680 回答
7

替代文字 http://ecx.images-amazon.com/images/I/61dECNkdnTL._SL500_AA240_.jpg

C++ How to Program适合初学者。这是一本完整的好书,有 1500 页。

于 2008-09-23T05:48:04.767 回答
7

Martin Fowler 的重构:改进现有代码的设计已经列出。但我会详细说明为什么它会影响我。

整本书的精髓在于结构化代码,使其更易于人类阅读和理解。它强烈地告诉我,我编写的代码是为了让我的同事和继任者使用并可能从中学到一些好的东西。它激励我有意识地编程,让人们赞美我的名字,而不是诅咒我永远被诅咒

于 2008-09-17T07:55:51.587 回答
7

虽然我同意上面的许多书都是必读的(实用程序员、神话人物月、计算机编程艺术和 SICP 立即浮现在脑海中),但我想朝着稍微不同的方向前进并推荐A Discipline Edsger Dijkstra的编程。尽管它已有 32 年历史,但对“可验证性设计”的强调是高度相关的(即使“可验证性”意味着“证明”而不是“单元测试”)。

于 2008-08-28T23:47:12.153 回答
7

我认为“Unix 编程的艺术”是一本优秀的书,作者是 Eric S. Raymond 的优秀黑客/聪明才智,他试图让我们理解软件设计的一些原则(主要是简单性)。这本书是每个即将在 Unix 平台下开始项目的编程人员的必备书。

于 2008-08-27T01:42:43.217 回答
7

TCP/IP 指南, Charles M. Kozierok

尽管它被描述为“百科全书参考”,但它作为叙述的可读性令人难以置信。

这位作者提供了一个非常、非常、非常出色的、全面的网络介绍以及网络基础设施。所有程序员都应该知道的事情。

对我来说,这是 Charles Petzold 的“代码”的自然后续。如果“代码”向外行解释计算机如何工作,“TCP/IP 指南”则解释它们如何连接在一起。

如果你给一个 12 岁的极客一份“代码”和一份“TCP/IP 指南”的副本——他们将在 17 岁时构建下一个谷歌。

换句话说,如果我可以回到过去并告诉自己在我作为开发人员职业生涯的开始时阅读一本特定的书,那么这本书(加上Code)就在我的列表顶部。

于 2011-01-14T09:13:25.957 回答
7

这是一本没有受到广泛赞誉,但充满深刻见解的优秀书籍:Agile Software Development: The Cooperative Game,Alistair Cockburn 着。

它有什么特别之处?好吧,显然每个人都听说过“敏捷”这个词,而且现在似乎大多数人都是信徒。不过,不管你是否相信,敏捷运动的存在背后有一些深刻的原则。本书以精确、科学的方式揭示并阐明了这些原则。一些原则是(顺便说一句,这些是我的话,不是 Alistair 的):

  1. 团队软件开发最难的事情是让每个人的大脑都有相同的理解。我们正在构建庞大、精细、复杂的系统,这些系统在有形世界中是不可见的。您越善于让更多人的大脑分享更深入的理解,您的团队在软件开发方面的效率就越高。这就是结对编程有意义的根本原因。大多数人都忽略了它(我最初也是如此),但考虑到这一原则,我强烈建议您再试一次。你最终会遇到两个深入了解你刚刚构建的子系统的人......没有很多其他方法可以如此快速地进行如此深入的信息传输。这就像瓦肯人的心灵融合。
  2. 你并不总是需要语言来快速传达深刻的理解。还有一个推论:单词太多,你超出了听众/读者的能力,这意味着你尝试的理解转移不会发生。考虑到孩子们通过“沉浸”和“吸收”来学习如何说语言。不仅仅是语言……他举了一些孩子在地板上玩火车的例子。随之而来的是另一个从未见过火车的孩子……但通过观察其他孩子,他掌握了游戏的要点并继续玩。这在人与人之间一直发生。这与关于太多单词的推论一起帮助您了解在旧的“瀑布”时代尝试编写 700 页的详细需求规范是多么错误。

那里还有很多东西。我现在要闭嘴了,但我强烈推荐这本书!

于 2009-03-20T02:45:42.200 回答
7

厄运大师。就你的职业的动力和热爱而言:它不会比这本书中描述的更好,真实鼓舞人心的故事!

于 2008-10-26T18:15:46.150 回答
6

务实的程序员:从熟手到大师毫无疑问。其中的建议非常好,而且很简单,给人的感觉就像是“常识程序员”。爱它。

于 2008-08-21T19:54:14.437 回答
6

掌握正则表达式

于 2008-08-21T20:02:28.897 回答
6

我有几本对我影响很大的好书,到目前为止我还没有在这个列表中看到:

唐纳德·诺曼(Donald Norman)的日常事物心理学。为他人设计的一般原则。这似乎对 UI 非常有用,但如果你仔细想想,它几乎在任何地方都有应用程序,除了原始开发人员之外,还有其他人必须使用的界面;例如,一个 API 并以这样的方式设计接口,使其他开发人员形成正确的心理模型并从 API 本身获得适当的反馈。

Glen Myers的软件测试艺术。对测试软件的全面介绍;适合程序员阅读以帮助他们像测试人员一样思考,即思考可能出现的问题并做好准备。

顺便说一句,我意识到问题是“单本最具影响力的书”,但讨论似乎已经改为列出好书供开发人员阅读,所以我希望我可以原谅我列出两本好书而不仅仅是一本。

于 2008-08-28T19:13:28.003 回答
6

我已经有一段时间了,所以我发现有影响力的大多数书都不一定适用于今天。我确实相信了解您正在开发的平台(硬件和操作系统)是普遍重要的。我也认为从其他人的错误中学习很重要。所以我推荐的两本书是:

计算灾难寻找愚蠢:二十多年的高科技营销灾难

于 2008-08-11T23:52:03.793 回答
6

Rapid Development by McConnell

于 2008-09-16T14:55:24.457 回答
6

用户有没有接触过你的代码?如果你不只做后端工作,我推荐About Face: The Essentials of User Interface Design—— 现在是第三版(链接)。我曾经认为我的用户很愚蠢,因为他们没有“得到”我的界面。当然,我错了。About Face 让我转过身来。

于 2008-09-11T03:15:35.523 回答
6

除了它们在我的书架上的排列方式外,没有特别的顺序:

  • 务实的程序员
  • Fowler的重构
  • 有效地使用Feathers 的遗留代码。这实际上是Refactoring的配套卷。
  • Fowler 提炼的UML。它的其他优点之一是简洁。
  • Steve Maguire调试开发过程
  • Gamma 等人的设计模式(又名“四人帮”)
于 2008-08-21T21:19:08.820 回答
6

兔子先生的 ActiveX 指南

于 2008-08-28T00:41:34.587 回答
6

当我开始使用 Java 进行开发时(直到今天仍在这样做),我不得不推荐该领域的杰出作品:Mr Bunny's Big Cup o' Java

来自作者的简介:

学习 Java 没有比将专家 Java 程序员的松果体植入大脑更好的方法了。可悲的是,大多数 HMO 拒绝为这种职业拯救程序付费,认为 Java 过于实验性。对于我们这些迫不及待地想要彻底改革医疗保健改革的人来说,终于有了另一种治疗方法。

Mr. Bunny's Big Cup O' Java 被十位医生中的 n 位推荐,其中 n 是您希望弥补的任何整数,以打动极易上当受骗的公众。本书从对本书的概述开始,然后迅速扩展到本书本身。只需查看涵盖的主题:

  • 爪哇

简而言之,MBBCOJ 将教您在当今的兔子开发环境中获得成功职业所需的所有知识。

仅凭对像素的了解就会使我的软件开发寿命缩短数年。

于 2008-12-02T18:02:19.463 回答
6

Brian W.Kerninghan 和 Rob Pike 的“编程实践”。

语言通俗易懂,题材也很有趣。

于 2009-11-08T08:26:33.573 回答
5

这本书并不是真正适合初学者的书,但如果您正在寻找 SOA 设计书籍,那么SOA in Practice: The Art of Distributed System Design适合您。

于 2008-09-10T15:07:58.423 回答
5

重构

于 2008-08-21T20:08:21.580 回答
5

Facts and Fallacies of Software Engineering by Robert L. Glass http://www.codinghorror.com/blog/images/facts-and-fallacies-of-software-engineering.jpg

Facts and Fallacies of Software Engineering by Robert L. Glass is a really excellent book. I had been a professional hacker for almost 10 years before I read it, and a I still learned a ton of stuff.

于 2008-10-08T16:38:38.123 回答
5

Steve McConnell 的 Code Complete 获得了很多票,但是他的软件项目生存指南书呢?我认为它们都是必读的,但出于不同的原因。

于 2008-09-01T08:14:50.537 回答
5

不是最有影响力但值得一看的是JMCoetzee的《 Youth 》。

《青春》的叙述者是 1950 年代南非的一名学生,长期以来一直在策划逃离他的祖国:逃离母亲令人窒息的爱,逃离失败困扰他的父亲,逃离他确信即将发生的事情革命。学习数学、读诗、存钱,他努力确保当他到达现实世界时,无论在哪里,他都准备好充分体验生活,并将其转化为艺术。然而,他终于到达伦敦,既没有发现诗歌,也没有发现浪漫。相反,他屈从于作为一名计算机程序员的单调生活,随机、无爱的事务无法缓解这种生活。没有灵感,他停止写作。作为一个笨拙的殖民者,一个宪法外人,他开始了一段黑暗的朝圣之旅,在其中他不断地受到考验,不断地被发现缺乏。

青年封面 http://img440.imageshack.us/img440/5140/youthgd4.jpg

于 2009-01-22T22:41:11.163 回答
5

Brian W. Kernighan 和 PJ Plauger 的软件工具

它对我编写软件的方式产生了深远的影响。

于 2008-09-15T18:25:04.273 回答
5

完美的软件:以及其他关于测试的幻想

标题封面 http://ecx.images-amazon.com/images/I/51j3BSRspAL._SL500_AA240_.jpg

完美软件:以及其他关于测试 的幻想 Gerald M. Weinberg

ISBN-10:0932633692

ISBN-13:978-0932633699

于 2009-08-18T10:20:42.863 回答
5

餐巾纸的背面,丹·罗姆(Dan Roam)。

餐巾纸的背面 http://www.coverbrowser.com/image/bestsellers-2008/302-7.jpg

一本关于视觉思维技巧的好书。现在也有扩展版。我不能说那个版本,因为我不拥有它;然而。

于 2010-08-09T22:18:58.387 回答
5

企业模式和 MDA:使用原型模式和 UML 构建更好的软件

对于那些希望利用 ORM 和 UML 的人来说,这是一本极好的读物

企业模式和 MDA:使用原型模式和 UML 构建更好的软件

于 2010-11-01T02:40:53.347 回答
4

有效的 C++更有效的 C++,作者 Scott Myers。

于 2008-09-16T14:33:42.853 回答
4

Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams by Steve Maguire.

No-non-sense, down-to-earth, entertaining, profound.

于 2008-09-07T06:12:33.213 回答
4

Mary 和 Tom Poppendieck 的精益软件开发绝对是每个开发人员书架上的一本

于 2008-09-16T14:20:05.773 回答
4

我最近读了 Dreaming in Code,发现它是一本有趣的读物。自从我开始阅读 Chandler 1.0 以来,也许更是如此。阅读有关试图“改变世界”的才华横溢的项目团队的成长痛苦和错误,可以让您从中学到很多东西。斯科特还提出了许多程序员的知识和智慧,这只是一个有趣的阅读。

Beautiful Code有一两件事让我产生了不同的想法,尤其是关于自顶向下运算符优先级的章节。

于 2008-09-01T16:22:53.967 回答
4

Code Complete 是第一选择,但我还要引用 Gang of Four 的 Design Patterns 和 Craig Larman 的 Applying UML and Patterns。

克里斯托弗·亚历山大(Christopher Alexander)的《永恒的建筑方式》是另一个伟大的方式。尽管它是关于架构的,但它包含在我已经阅读过的许多优秀编程书籍的参考书目中。

另一个,我从中学到了很多新东西的,是 Clifton Nock 的 Data Access Patterns。

于 2008-08-05T17:28:24.937 回答
4

Perl 编程 (O'Reilly)

于 2008-09-16T14:03:32.083 回答
4

Bertrand Meyer 的面向对象软件构建

于 2008-09-16T16:33:01.850 回答
4

我想到了三本书。

  • Eric S. Raymond 的 Unix 编程艺术。
  • 瑞克·库克编写的《巫术》。
  • Donald Knuth 的计算机编程艺术。

我也喜欢Paul Graham 的作品。

于 2009-04-27T13:02:05.697 回答
4

一本书的影响力通常取决于读者以及他们在阅读这本书时所处的职业生涯。我必须向Head First Design Patterns大声疾呼。伟大的书和它的写作方式非常有创意,应该作为其他科技书籍作者的榜样。即它是为了促进学习和内化概念而编写的。

头部优先设计模式 http://ecx.images-amazon.com/images/I/51LSqrgoT1L._SS500_.jpg

于 2009-08-20T20:55:29.603 回答
4

似乎没有人提到 Stroustup 的《C++ 编程语言》,这是一本每个 C++ 程序员都应该阅读的好书。

我还认为,Extreme Programming Explained: Embrace Change应该被每个程序员和经理阅读。本书中的许多想法现在都是常识,但本书对软件工程中的质量追求给出了明智且鼓舞人心的说明。

我会支持经典的 Knuth 和 Gang of Four 的建议。

于 2008-11-04T22:40:29.087 回答
4

W. Richard Stevens的 UNIX 环境中的高级编程。

于 2008-11-20T02:31:39.467 回答
4

添加到上面提到的伟大的:

企业应用架构模式

企业集成模式

于 2009-07-23T01:30:31.380 回答
4

我的投票是“如何像计算机科学家一样思考:使用 Python 学习”它既可以作为书籍也可以作为免费电子书获得

它真的帮助我理解了 Python 和一般编程的基础知识。尽管它使用 Python 来演示概念,但它们适用于大多数(如果不是全部)编程语言。另外:它是免费的!

于 2010-02-22T23:13:58.367 回答
4

替代文字

精通:成功和长期实现的关键,乔治·伦纳德(George Leonard)

它是关于掌握任何技能需要什么样的心态,以及为什么。它太棒了,而且也很容易阅读。

于 2010-08-25T10:53:18.037 回答
3

http://ecx.images-amazon.com/images/I/519J3P8ANML._SL500_AA240_.jpg

将我的编程提升到了一个全新的水平。

于 2008-09-16T18:26:38.660 回答
3

我读了大多数在这个问题上得分很高的书——但不是所有的书(感谢上帝!),我立即将其他书添加到我的亚马逊愿望清单中!

(有人应该在亚马逊上为这些书创建一个列表......也许一个名为:“Stackoverflow best books ever”的列表?有人知道该怎么做吗?

对我来说,最好的书是Code Complete。这是一个启示。我买了英文版和法文版的第二版,我仍然认为它应该是任何计算机科学学校的必读。数据结构很酷,但代码完整,不是开玩笑,更重要的是......

然后,我第二好的书是编写可靠的代码——在学会了如何被理解之后,知道如何编写可靠的代码真是太好了。

然后是很多很好的书,但这里没有一本书可以提及。直到 2001 年,我认为:Framework Design Guidelines:Conventions, Idioms, and Patterns for Reusable .NET Libraries。一颗宝石!这本书我读了很多遍,它仍然在我的桌子上,就在我的 LCD 旁边,还有 Code Complete(真的!)。我喜欢它的写作方式(喜欢这里和那里添加的评论——书都应该这样写!)

但是,我忘记了我读过的第一本好书!那些让我充满热情地热爱计算机科学的人:

  • 计算!(C64 杂志 - 永远不会忘记吉姆蝴蝶:o)
  • Borland C++ 用户指南(旧的,大约 1991 年,那些试图介绍面向对象编程的人,写得非常好)。
  • 大多数Microsoft 开发工具用户指南,大约 1990-1995 年。不知道是谁写的,但是很酷!我记得在星期六的深夜阅读它们......

好吧,很好的问题:o)

于 2009-06-09T19:59:23.053 回答
3

Kent Beck 的极限编程

于 2008-09-16T16:48:53.903 回答
3

对我来说最有影响力的编程书籍是Allen Holub的 Enough Rope to Shoot Yourself in the Foot

这本书的封面 http://ecx.images-amazon.com/images/I/71AE90J735L._SL500_AA240_.gif

哦,好吧,那是多久以前的事了。

于 2008-09-17T07:10:06.407 回答
3

Aaron Hillegass for Mac OS X 的Cocoa 编程

于 2008-09-16T14:25:32.000 回答
3

由 Mike Gunderloy 编写的Coder to Developer

于 2008-09-16T20:32:08.407 回答
3

It's not strictly a development book and I believe that I've mentioned it in another answer somewhere but it's a book I really believe all developers should read, from php to Java to assembly developers.

Code

It really brings together what's under the hood in a computer, why memory shouldn't be wasted and some of the more interesting parts of the history of computing. It's an introduction to the computer and what it is. It gave me my ultimate passion for low level programming and helped me understand pointers and memory more than any other computer.

于 2008-09-16T13:51:34.967 回答
3

我认为完整的代码将成为这个问题的一个非常受欢迎的问题,对我来说,它纠正了我的许多坏习惯并重新肯定了我的良好做法。

同样对于我的 Perl 背景,我非常喜欢 Damian Conway 的 Perl Best Practices。如果您不使用样式和最佳实践,Perl 可能是一种讨厌的语言,这就是我在阅读(有时是编写)的脚本中看到的。

我喜欢 Head First 系列,当您不想阅读更严肃的风格书籍时,它们非常好且易于阅读。

于 2008-09-16T13:55:06.020 回答
3

这不是问题的直接答案,因为我觉得上面已经回答了,但是,对我的编码方式肯定有影响的一本书是Code Reading, Volume 1: The Open Source Perspective

替代文字 http://g.bookpool.com/covers/405/0201799405_140_30O.gif

于 2008-09-02T07:23:09.700 回答
3

令我惊讶的是,还没有提到这本书:Leo Brodie的《开始》。毕竟,作为一种基于堆栈的语言,Forth 应该适合这个网站的观众......

诚然,Forth 是一种奇怪的语言,并且现在不是很流行。但这本书读起来很愉快。它有漫画!这本书以及 Brodie 的另一本书Thinking Forth都可以在网络上免费获得。

于 2008-09-21T15:48:35.760 回答
3

这让我开始进入真正的OOA&D。

应用 UML 和模式:面向对象分析、设计和迭代开发简介 - Craig Larman

这些也将在那里:

  • 企业应用程序架构中的模式 - Fowler
  • 领域驱动设计 - Eric Evans
于 2008-09-16T14:40:13.620 回答
3

Kernighan 和 Pike的 Unix 编程环境

Unix 编程环境

它比任何其他书都教会了我构建小型、易于测试的工具的好处,这些工具可以组合起来做大事。

于 2008-09-16T16:28:12.173 回答
3

一个全新的思想,丹尼尔平克。有趣地看待我们行业的未来。

我假设大多数阅读本文的人已经阅读过列表顶部的书籍。所以,我将提供一本书,从不同的角度看待我们的行业。

替代文字 http://www.danpink.com/images/wnm.jpg

于 2008-09-24T23:29:29.213 回答
3

为了在 prolog 中取得进步,我喜欢这两本书:

序言的艺术

序言的工艺

真正为逻辑编程和递归方案打开了思路。

于 2008-09-15T20:29:42.180 回答
3

无论您是否使用 Smalltalk 进行编码,Smalltalk 最佳实践模式都是一本不错的读物。充满了会改变你编码方式的小观察;为了更好。

于 2008-09-18T08:07:26.977 回答
3

Craig Larman 的《应用 UML 和模式》 。

书名有点误导;它确实处理 UML 和模式,但它涵盖的内容更多。这本书的副标题告诉你更多:面向对象分析与设计和迭代开发的介绍。

于 2008-11-12T11:56:10.587 回答
3

对我来说,它是Design Patterns Explained,它为我提供了一个关于设计模式的“哦,这就是它的工作原理”的时刻,并且在向其他人教授设计模式时非常有用。

于 2008-12-18T16:00:28.500 回答
3

UNIX 环境中的高级编程 - W. Richard Stevens

于 2009-11-26T20:24:21.150 回答
3

书中的所有思考。

Bruce Eckel是教育学的天才!很容易理解 C++ 中多态的实现。它包含您应该了解的有关 C++、基本和高级概念的所有内容。比Stroustrup的好多了。我也和他一起学习了 Java。

最后但并非最不重要的:

C++ 是免费的!

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

于 2009-07-15T10:18:57.713 回答
3

由于我是一名 C# 程序员,并且已经提到了大多数通用书籍,我想推荐 Bill Wagner 的书“更有效的 C#

我认为大多数开发复合 WPF 应用程序的人也应该看看微软的复合应用程序指南(也称为 Prism):

复合应用指南

于 2009-08-05T12:03:57.817 回答
3

Peter Norton 的 IBM PC 汇编语言手册

替代文字

我在电脑(DOS)前度过了无数个夜晚,探索未知的世界:-D

于 2009-08-05T21:19:33.897 回答
2

务实的程序员

于 2008-08-21T19:55:25.683 回答
2

《有效地使用遗留代码》是一本非常棒的书,它非常详细地介绍了如何正确地对代码进行单元测试以及它的真正好处是什么。它真的让我大开眼界。

于 2008-08-21T20:10:00.297 回答
2

我现在正在阅读敏捷软件开发、原则、模式和实践。对于那些对 XP 和面向对象设计感兴趣的人来说,这是一本经典读物。

替代文字 http://ecx.images-amazon.com/images/I/519J3P8ANML._SL500_AA240_.jpg

于 2009-03-12T18:31:29.300 回答
2

阅读Head First Design Patterns以获得比 GoF 书籍更易于理解的介绍。我记得在每一章之后我都感觉自己升级了。

Kent Beck 的TDD示例测试驱动开发。

于 2008-08-25T17:02:29.013 回答
2

由于上面提到的许多原因,它是 Head First Design Patterns 和 Perl 测试:开发人员笔记本之间的折腾,这应该是任何想要编写可维护代码的 Perl 程序员的圣经之一。

于 2008-09-16T14:28:03.523 回答
2

一开始是命令行。尼尔斯蒂芬森。

于 2011-01-14T16:09:12.163 回答
2

另外,我会提到Hugh Darwen 和 CJ Date的《第三次宣言》 。如果您对理解数据感兴趣(这在程序员中似乎并不常见),这本书是必读的。当你意识到 SQL 有多么糟糕时,它也会让你难过,但它也会帮助你应对这种破碎。了解工具是如何损坏的可以让您在设计时考虑到这些缺陷。

于 2008-09-17T03:27:06.910 回答
2

Another book that has not been mentioned yet, and SHOULD be required reading for EVERY programmer, newbies on up to gurus, in ANY programming language, is Michael Howard's Writing Secure Code (2nd Edition) from MSPress.

于 2008-09-17T08:53:51.150 回答
2

Win32 Programming by Charles Petzold

于 2008-09-16T14:55:09.183 回答
2

我想我们可以每隔几周问一个评分最高的问题,然后升级所有提到代码完整实用程序员的人。

并不是说它有什么问题:-)

于 2008-09-16T15:08:36.950 回答
2

我是 Robert C. Martin 的大多数书名的忠实粉丝,尤其是敏捷软件开发、原则和实践以及干净的代码:敏捷软件工艺手册

于 2008-08-27T00:50:03.843 回答
2

我在博客上看到了一篇关于软件工厂:使用模式、模型、框架和工具组装应用程序的评论,也谈到了XI-Factory,我读了它,我必须说这本书是必读的。虽然不是专门针对程序员的,但它非常清楚地解释了编程世界中正在发生的事情,比如模型驱动架构等等。

于 2009-03-02T22:23:43.737 回答
2

Bjarne Stroustrup 的“ C ++ 的设计与演变”

除了提供 C++ 的大量背景知识外,它也是对大型程序所涉及的权衡和设计问题的长期研究。

BN.com

于 2008-09-16T15:32:09.937 回答
2

我发现“Prolog 的艺术”是一本非常好的读物。

于 2008-09-08T02:59:37.893 回答
2

我想我是在与这里的大多数人不同的一代长大的......

我读过的最有影响力的书之一是APUE

或者几乎所有 W. Richard Stevens 的作品。

于 2008-09-08T03:55:08.807 回答
2

专家 C 编程:Peter Van Der Linden的深度 C 秘密

于 2008-09-16T16:36:38.877 回答
2

我的高中数学老师借给我一本《你的灯图问题》,我已经重读了很多遍。作为一名开发人员,在整个生活中,它都是无价的。

于 2008-09-16T17:10:51.120 回答
2

虽然严格来说不是一本软件开发书籍,但我强烈建议不要让我思考!被考虑在这个列表中。

于 2008-09-16T15:50:14.433 回答
2

问题是,“哪本书真正影响了你作为开发人员的工作方式?” 毫无疑问,Jeff Prosise 所著的Programming Windows with MFC是对我作为开发人员的工作方式影响最大的一本书。它没有教我“编程”的基础知识,但它为我和成千上万的其他开发人员打开了 Windows 平台开发的世界。

在开发 MFC 之前,我以前曾以“Petzold 风格”编写过一些 Windows 代码。我很快就决定了我们作为开发人员不值得麻烦的 Windows 平台。当 Prosise 出版他的 MFC 书时,我意识到(与成千上万的其他非 Windows 程序员一起)我可以创建一个易于使用的界面,用户不仅可以理解,而且可以真正享受使用。我狼吞虎咽,在里面做了很多笔记,转了很多角,最后我买了第二本。

长篇大论,杰夫。使用 MFC 第 2 版对 Windows 进行编程。 微软出版社 1999 年国际标准书号:1-57231-695-0

于 2008-09-16T17:17:39.247 回答
2

Eric Evans 的领域驱动设计

于 2008-09-16T18:07:36.507 回答
2

Roger S. Pressman - 软件工程(从业者方法)。它有很多有用的信息。

于 2008-09-10T00:42:44.307 回答
2

Domain Driven Design By Eric Evans is a wonderful book!

于 2009-08-23T05:17:21.277 回答
2

每个程序员都应该知道的 97 件事

替代文字 http://ecx.images-amazon.com/images/I/51F134Q8TrL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

这本书汇集了世界上一些最优秀的程序员的集体经验。这是必读的。

于 2010-02-08T16:31:06.470 回答
2

对于低级娱乐,我建议Michael Abrash 的
i) -Zen of Code Optimization- 和
ii) -Graphics Programming Black Book-
即使您不进行任何图形编程。

于 2008-09-17T12:58:34.383 回答
2

我想说“超越代码——通过 9 个简单的步骤学会区分自己”是一本很好的励志书。我不涉及技术问题,但它描述了与人合作、专业的方式……对我来说,如果你需要一些鼓舞士气的话,这是一本你可以反复阅读的书。除此之外,它很便宜,而且在 3 到 4 小时内阅读起来非常容易和愉快。

我的博客上有一个小小的评论。

于 2008-09-18T05:24:32.003 回答
2

Amiga ROM 内核手册 :)

于 2008-09-16T21:22:05.663 回答
2

这可能不算是一本“开发书”,但无论如何我都必须把它扔进去:斯蒂芬·利维的黑客。我发现它谈到了编程的情感方面。

于 2008-09-17T01:11:22.790 回答
2

由于很多人列出了 Head First Design Patterns,我同意这是一本非常好的书,我想看看是否有很多人知道名为Design Patterns Explained: A New Perspective on Object-Oriented Design的标题。

这个标题很好地处理了设计模式。本书的前半部分非常容易理解,其余章节只需要牢牢掌握已经涵盖的内容我觉得本书后半部分不太容易理解的原因是它涵盖了我作为一个年轻的开发人员公认缺乏的模式经验中,用的不多。

这个标题还介绍了设计模式背后的概念,涵盖了 Christopher Alexander 在架构方面的最初工作,以及 GoF 首次在 SmallTalk 中实现文档模式。

我认为任何喜欢 Head First Design Patterns 但仍然觉得 GoF 非常枯燥的人,都应该将 Design Patterns Explained 作为一种更具可读性(尽管不是很全面)的替代方案。

于 2008-09-17T09:22:32.687 回答
2

Craig Larman 的应用 UML 和模式。虽然《四人组》一书的《设计模式》很有启发性,但我发现直到我在编程课上看到拉曼的书后,我才“了解”如何使用设计模式。

于 2008-09-17T09:58:14.537 回答
2

Ray Duncan 的高级 MS-DOS。

于 2008-09-17T12:04:08.807 回答
2

优化软件开发生命周期的可靠代码

尽管这本书只有 300 页并且支持 Microsoft 技术,但它仍然提供了一些很好的与语言无关的花絮。

于 2009-06-07T01:45:29.207 回答
2

Steve Macguire编写可靠的代码

于 2010-12-09T06:49:10.937 回答
2

Peter Van Der Linden 的“Expert C Programming - Deep C Secrets” 发生了什么——经典而有趣的读物。应该在几年前学习 C 后立即阅读,但在学习 C 3 年后才知道!一本推荐的书,它回答了关于指针的最常见的 SO 问题(我最喜欢的主题)。生活它,吃它,呼吸它!10/10!

于 2009-12-03T17:49:07.007 回答
2

每个程序员都应该知道的关于内存的知识

作者:Ulrich Drepper - 解释了现代内存子系统的结构,并提出了如何有效利用它们的建议。

PS:对不起,如果我重复发布。

于 2010-02-06T05:16:09.673 回答
1

Roger Kaufman 博士的“ Fortran 着色书” (1978 年,ISBN:0262610264)

多么愚蠢的概念——甚至比“傻瓜”书还要基本!但它适用于任何语言(当然还有一些特定于 fortran 的示例),以一种非常容易理解和“非常有趣”的方式解释逻辑、变量、I/O 等的基本概念。

这足以让一个十岁的孩子对编程感兴趣......

替代文字

(在Flickr 用户帐户上找到封面照片)

于 2008-09-21T02:14:44.217 回答
1

好的,所以问题不是“什么是最好的编程书”,而是“如果你能告诉自己在职业生涯开始时要读什么”......

可能是“On Lisp”和 SICP 之一,再加上 CLRS 或 Udi Manber 的“算法:一种创造性方法”之一。

Udi Manber 的算法简介 http://vig-fp.prenhall.com/bigcovers/0201120372.jpg

前两个将教授大量的编程技术、模式,并真正打开一个人的思维,让他/她自己的创造力;其他两个是不同的。它们更具理论性,但也非常重要,专注于设计正确和高效的算法(并且需要更多的数学)。

当“好编程书籍”的主题出现时,我看到很多人推荐前三本书,但最后一本书(Manber)是一本很棒的书,很少有人知道。这是一个耻辱!Manber 专注于通过使用归纳的定理证明算法的增量开发。

于 2008-10-18T15:39:15.290 回答
1

如果您用 C 编写代码,那么专家 C 编程会让您大开眼界。它可以回答您想知道为什么它会以这种方式工作的所有事情。Peter Van Der Linden 具有出色的写作风格,并使晦涩难懂的概念非常易读。所有 C 开发人员必读

于 2008-10-18T15:55:53.743 回答
1

Object Oriented Design Heuristics是一本很好的读物。我放不下。

于 2009-01-14T21:35:53.433 回答
1

我将添加一些我在这里没有看到的对我有影响的夫妇:

  • Yourdon 和 Constantine,“结构化设计”。如果您愿意深入挖掘,您需要了解的有关软件设计的所有信息都在这里。
  • Leonard Koren,“侘寂:艺术家、设计师、诗人和哲学家”。一种平衡美与实用主义的务实哲学。
于 2009-01-14T21:46:58.263 回答
1

爱德华·塔夫特(Edward Tufte)的任何东西:定量信息的视觉显示;构想信息;视觉解释

于 2008-10-02T22:46:35.120 回答
1

Pro Spring是对控制反转和依赖注入世界的极好介绍。如果您不了解这些实践及其含义 - Pro Spring 中的主题和技术细节的平衡非常好。它建立了一个很好的案例和随之而来的个人基础。

我建议的另一本书是 Robert Martin 的敏捷软件开发(ASD)。代码味道、敏捷技术、测试驱动开发、原则……许多不同编程方面的良好平衡。

更传统的经典作品包括臭名昭著的 GoF设计模式、Bertrand Meyer 的面向对象软件构建、Booch 的面向对象分析和设计Scott Meyer的“ Effective C++ ”系列以及我喜欢的 Gunderloy 的鲜为人知的书,Coder to Developer

虽然书籍很好......不要忘记收音机

...让我再补充一件事。如果您还没有发现safari - 看看。它比堆栈溢出更容易上瘾 :-) 我发现根据我的谷歌类型习惯——我需要更昂贵的订阅,这样我就可以随时看任何书——但我会向任何有兴趣的人推荐试用版.

(啊,是的,今天一点 obj-C,明天可可,模式?soa?那个食谱中的那个例子是什么?史蒂夫在第二版中说了什么?我应该买这本书吗?......这样的订阅很棒如果你想对你正在搜索的内容有一些连续性和上下文......)

于 2008-09-06T16:06:14.947 回答
1

推荐给 Windows 程序员,Windows编程

于 2008-09-21T12:09:30.543 回答
1

Deitel 和 Deitel,“C++:如何编程”

XUnit 测试模式

于 2008-08-25T16:53:33.577 回答
1

C++中的算法对我学习大 O 表示法和各种排序算法的来龙去脉非常宝贵。这是在塞奇威克决定通过将其分成 5 本书来赚更多钱之前出版的。

C++ FAQs是一本了不起的书,它真正向您展示了在 C++ 中应该做什么和不应该做什么。C++ 的向后兼容性留下了很多地雷,本书帮助人们小心地避免它们,同时很好地介绍了 OO 设计和意图。

于 2009-05-26T23:33:05.673 回答
1

Software Tools by Brian W. Kernighan and P. J. Plauger by a wide margin had the most effect on me.

于 2008-09-16T15:55:16.853 回答
1

Stanley Lippman的 C++ 对象模型内部

于 2008-09-16T22:16:55.830 回答
1

我的是通过示例进行测试驱动开发

于 2008-09-16T14:19:42.747 回答
1

The first book that made a real impact on me was Mastering Turbo Assembler by Tom Swan.

Other books that have had an impact was Just For Fun by Linus Torvalds and David Diamond and of course The Pragmatic Programmer by Andrew Hunt and David Thomas.

于 2008-09-17T08:58:01.280 回答
1

Cress、Dirkson 和 Graham 与 Watfor 和 Watfiv 的 Fortran IV。

这本书教会了我我的第一门编程语言,当时我在打孔卡上编程。3 年后,这本书全都破烂了,因为我用得太多了。

替代文字 http://g-ecx.images-amazon.com/images/G/01/ciu/4b/83/245d9833e7a03768eaf63110._AA240_.L.jpg

Fortran 是一门很棒的语言!它有一个超级优化器并生成非常快的代码。它在英国仍然很受欢迎,FTN95 现在是一个功能非常齐全且功能强大的编译器。有时我希望我能继续使用它,但 Delphi 是一个绰绰有余的替代品。

于 2008-10-30T04:23:11.447 回答
1

兔子先生的 ActiveX 指南

于 2010-02-08T16:53:22.687 回答
1

尽管我从未编写过游戏,但这本书以一种有趣的方式帮助我理解了很多事情。

于 2009-01-05T17:14:58.387 回答
1

当我还是一个完全的新手时,我就提出了这个问题,并让我在短时间内从只知道 Java 的存在变成了一个可靠的团队成员

于 2009-01-05T17:16:13.640 回答
1

Stan Lippman 的 C++ 对象模型内部。它让 C++ 终于为我“点击”了,在这一切都变得“神奇”之前。这本书让我在接触一种新的编程语言时有了不同的思路。

于 2008-09-16T16:15:44.653 回答
1

Andrei Alexandrescu 的现代 C++ 设计

于 2008-09-16T13:54:14.557 回答
1

Steve Maguire 编写 Solid Code。

于 2008-09-16T13:59:43.480 回答
1

Grady Booch 的“应用程序的面向对象分析和设计”。我很久以前读过这篇文章,它向我展示了开发面向对象软件的方法。从那时起,许多其他书对我产生了影响,但这本书让我开始了。

于 2008-09-16T14:01:49.950 回答
1

Kent Beck 的实现模式。

替代文字 http://ecx.images-amazon.com/images/I/51JHn-6oNwL._SL500_AA240_.jpg

您可以学习如何通过编程与人交流。

于 2008-08-21T21:26:41.783 回答
1

近年来,它一直是“Nicolai M. Josuttis”的“C++ 标准库”。这是我的圣经。

替代文字 http://ecx.images-amazon.com/images/I/51BT5SKXTCL._SL500_AA240_.jpg

于 2008-09-17T07:45:40.563 回答
1

粉红衬衫书

IBM PC 程序员指南。粉红衬衫书。

……嗯,总得有人说。

于 2010-02-23T16:18:32.087 回答
1

唐纳德·诺曼,“日常事物的设计”

不是关于编程本身,而是关于世界上的事情应该如何工作——一种可用性心理学。

在设计最终用户界面和 API 时,它对我来说非常宝贵。

于 2008-09-16T18:55:39.900 回答
1

尽管我已经从事专业编程多年,但 Rocky Lhotka 关于他的 CSLA 框架的“Business Objects”系列是让我大开眼界的书。

他的想法让我再次对软件开发模式和理论感到兴奋。它让我对学习如何成为更好的开发人员产生了新的兴趣,而不仅仅是学习最新的 gee-whiz 控件或库。(不要误会我的意思,我仍然喜欢一本好的技术书籍——你必须跟上!)

于 2008-09-20T19:17:47.217 回答
1

我发现《算法设计手册》是一本非常有益的读物。我也强烈推荐Programming Pearls

于 2008-09-20T19:30:42.800 回答
1

学习 C# 2005,作者 Jesse Liberty 和 Brian MacDonald (O'Reilly)。

国际标准书号 10:0-596-10209-7。

当我第一次在 VS2005 中从 ASP 经典过程代码跳转到面向对象的 C# 代码时,这本书让我走上了正确的道路。

于 2008-09-16T15:46:22.150 回答
1

Donald Knuth 的 Literate Programming,这是一本关于代码结构的好书。

于 2008-09-16T16:27:22.613 回答
1

You.Next():将您的软件开发事业推向领导轨道 ~ Michael C. Finley(作者)、Honza Fedák(作者) 链接文本

于 2010-03-03T21:13:05.017 回答
1

福特的高效程序员

我还没有完全完成这个,但我已经对我所掌握的一些技巧/技巧感到兴奋,这些技巧/技巧可以变得更加……嗯……富有成效。

当然,有很多我们都知道的东西(使用键盘快捷键、DRY 等)。但是有很多新东西可以搭配。细心的读者将很快开始了解如何将事物组合起来以获得更大的效果。

于 2008-09-16T17:42:11.573 回答
1

面向对象的分析和设计 - Grady Booch

于 2008-09-16T17:45:44.857 回答
1

"Thinking in C++" by Bruce Eckel

于 2008-09-16T17:53:25.790 回答
1

Charles Wetherell 的程序员练习曲,More Programming Pearls (Jon Bently),

于 2008-12-06T00:18:05.643 回答
1

代码就是法律- 您正在使用 [您选择的语言] 进行所有这些写作、编辑和思考,但为什么?你的代码是什么意思?它实际上会做什么?

(我本可以推荐一本关于 QA 的书,但我没有……)

于 2008-09-04T01:10:24.090 回答
1

Ken Schwaber 和 Mike Beedle用 Scrum 进行敏捷软件开发。

我用这本书作为理解敏捷开发的起点。

于 2008-09-17T04:44:29.970 回答
1

GW Basic 简介。没有它,我永远不会学习如何编程,任何其他书籍都不会对我有任何好处。

于 2009-04-27T13:04:38.340 回答
1

Scelbi 字节入门

我多次仔细阅读本书中的源代码清单,直到有一天,我突然摸索到了 8080 汇编语言编程。

于 2008-12-18T18:34:48.500 回答
1

似乎大多数人已经接触过一些非常好的书籍。真正帮助我的是有效的 C#:改进 C# 的 50 种方法。如果我不提到维尼之道,我会失职。哲学书籍对灵魂有益,对代码有益。

于 2009-10-22T11:00:33.337 回答
1

这里有两个我没见过的:
我希望我早点读到 Koenig 和 Moo 的“ Ruminations on C++ ”。那是一本让 OO 概念真正吸引我的书。
我向任何计划在 90 年代中期开始编程生涯的人推荐 Michael Abrash 的“代码优化之禅”。

于 2008-09-16T01:12:00.677 回答
1

如何像计算机科学家一样思考:用 python 学习

可能不是世界上最先进的书,但它让我理解了我无法理解的编程概念,尤其是面向对象的主题。

于 2008-09-17T00:52:31.603 回答
1

务实的程序员非常好。然而,当我刚开始时,真正产生影响的是:

Windows 95 系统编程秘诀”

我知道——它在外面听起来和看起来有点俗气,可能已经过时了——但这是基于作者 (Matt Pietrek) 使用他自己的工具进行的调查对 Win95 内部的一个很棒的解释——代码随书而来。请记住,这是在整个开源之前,微软仍然非常谨慎地发布内部文档——更不用说源代码了。那里有一些引用,比如“如果你正在解决一些问题并遇到了一些症结,那么你需要停下来,真正深入研究那篇文章,真正理解它是如何工作的”。我发现这是一个很好的建议——尤其是现在你经常有图书馆的源代码并且可以去看看。它也启发了我享受深入了解系统工作原理的过程,

哦,我还要介绍有效的 .net - Don Box 对 .Net 的内部解释。

于 2008-09-17T05:49:22.310 回答
1

如果你在 Unix/Linux/MacOS 等中做任何事情,你必须阅读已故的 W Richard Stevens 所著的 Unix 环境中的高级编程(也称为首字母缩写词 APUE)。如果你不知道文件描述符是如何工作的,什么会话是,或者当你自己守护进程时你应该做的所有事情(承认,你不知道),那么这本书会告诉你。

之后你会感到有点业余,但如果你想在 Unix 环境中认为自己是一名专业的程序员(任何语言),你需要阅读这篇文章。

于 2008-09-17T19:37:30.773 回答
1

这是一个非常丰富和有用的汇编,但是,我有点惊讶我在作者中没有遇到 Andrew S. Tanenbaum。IMO,他是最好的 CS 教授之一,他的天才主要与他非凡的能力有关,他可以让 CS 本科生获得相当困难的材料。他的书(现代操作系统或计算机网络可能会敲响警钟)非常出色,为我在攻读学士学位的同时打下了坚实的 CS 基础,我强烈推荐它们。Tanenbaum 上的其他一些有趣的东西,证明了他的技能超越了教学:一个名为 MINIX 的操作系统的作者——Linus 在实现 Linux 时从它那里获得了很多灵感;Amoeba - 分布式操作系统;Turtle - 免费的匿名 p2p 网络。

于 2009-12-16T09:00:39.600 回答
1

仍然值得一提的经典是界面耻辱堂。该网站详细介绍了非常有趣的大量界面设计失礼。原来的 iarchitect.com 已经不存在了,但是其他人已经在自己的网站上重新建立了居屋。

于 2009-01-13T17:50:48.940 回答
1

Windows 中的图形编程很难出错。

于 2008-11-14T15:12:41.837 回答
1

如何解决它:数学方法的一个新方面 虽然与计算机编程没有直接关系,但它确实教会了你解决问题的艺术,这就是计算机编程的全部内容。

于 2009-02-18T18:32:58.133 回答
1

我还没有在这里看到的是xUnit 测试模式: Gerard Meszaros 的重构测试代码。这本书真的帮助我从一个全新的角度看待单元测试。

于 2009-11-06T21:42:33.303 回答
1

特立独行!:世界上最不寻常的工作场所背后的成功故事

替代文字 http://ecx.images-amazon.com/images/I/410TX7YN94L._SL500_AA300_.jpg

会让你意识到工作场所应该是什么样子。

于 2010-05-06T07:59:34.757 回答
1

任何导师/团队负责人/经理或向上述人员报告的任何人的必备读物。

替代文字 http://ecx.images-amazon.com/images/I/316N6QYW32L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

于 2009-11-23T18:08:25.310 回答
1

游戏设计的艺术 - Jesse Schell的镜头之书

Jesse Schell 自 2002 年以来一直在卡内基梅隆大学的娱乐技术中心教授游戏设计并领导研究项目。

纳夫说。

游戏设计的艺术——镜头之书 http://i50.tinypic.com/iekw0l.jpg

PS:对不起,如果我重复发布,我在答案中找不到这本书 - 可能是因为标题不准确或没有图片。让我知道,如果是,我会删除它。

于 2010-02-04T18:36:10.137 回答
1

我迟到了这个问题,但显然仍然有一些独特的东西可以提供...... Barry Boehm软件工程经济学总而言之,它说如果你想真正提高软件生产力,那就找更好的人,因为更好的工具、硬件、语言,方法等都会产生边际影响。只有更好的人才能显着提高生产力。我强调,这是更好的工程师,而不是更多的工程师!

不是那种你会带上床睡觉的书,就像你在工作中可能会做的那样,而是那种让我们明白我们行业一直在努力铭记的教训的书。见证离岸外包,Boehm 的模型预测的虚假经济只会产生边际积极影响,如果有的话。一探究竟。

于 2009-11-08T08:48:02.670 回答
1

这是每位程序员必读的书:Abraham Silberschatz 的数据库系统概念。

替代文字 http://images.barnesandnoble.com/images/14870000/14878097.JPG

于 2009-12-14T15:59:25.543 回答
0

多年前,Bruce Eckel 的 Thinking in C++ 教会了我很多关于 C++ 的知识,但也教会了我将问题隔离到一个小型“沙箱”中进行研究/分析的重要性。这项技术极大地影响了我的职业生涯,并经常帮助我为自己和他人解决问题。

这些天,我指的是 Java 中的 Thinking,它是用相同的风格编写的。不知何故,这种风格不仅仅是简单的“示例”,而是深入探讨了问题的核心。

我很感激我会买 Eckel 的几乎任何东西,看不见。

于 2008-09-16T18:22:48.403 回答
0

重构

企业应用架构模式

于 2008-08-21T20:10:10.797 回答
0

代码工艺

于 2008-08-21T20:54:54.400 回答
0

应用 UML 和设计模式。

它帮助设计模式与我一起点击,并为 UML 提供了一个理由,这在“UML as Sketch”的措辞中对我来说是有意义的。也就是说,UML 应该用作系统的简要草图,它的额外好处是您不必向其他人解释符号(他们要么已经知道 UML,要么你给他们一本 UML 书阅读)

于 2008-09-17T14:34:25.323 回答
0

它是一个系列,令人惊叹。Edsger Dijkstra(在 CAR Hoare 的帮助下)的小黑书Structured Programming,尤其是题为“On Our Inability To Do Much”的文章。

于 2008-09-16T17:00:48.600 回答
0

Tenenbaum 的第一本操作系统书籍。我第一次看内核级编程。

于 2008-09-16T19:20:14.180 回答
0

Michael Abrash 汇编语言之禅

于 2008-09-17T14:03:03.107 回答
0

用 Java 思考(模式),Bruce Eckel

于 2008-09-16T14:14:55.083 回答
0

专业 Excel 开发 这本书展示了如何在最普遍的编程平台之一中制作高质量的应用程序。

于 2008-09-16T14:16:27.013 回答
0

我有几篇关于这个主题的(相当老的)博客文章

于 2008-08-21T21:10:00.310 回答
0

PHP 对象、模式和实践。 http://www.apress.com/book/view/9781590599099

于 2008-09-16T14:41:23.053 回答
0

我一直最喜欢的是 Matthew Telles 的 C# Back Book。

于 2008-09-16T20:07:28.450 回答
0

Dreaming in Code可能在过去 6 个月中产生了最深远的影响。

于 2008-09-16T20:10:22.047 回答
0

Bjarne Stroustrup 的“C++ 编程语言”

于 2008-09-16T20:21:42.207 回答
0

除了其他人的建议,我建议要么获取一份 SICP,要么在线阅读。这是我读过的少数几本书之一,我觉得大大提高了我设计软件的技能,特别是在创建良好的抽象层方面。

与编程没有直接关系但对程序员(IMO)来说也是一本好书的书是《具体数学》 。它中的大多数(如果不是全部)主题对程序员来说都是有用的,而且它在解释事物方面比我迄今为止读过的任何其他数学书都做得更好。

于 2008-08-27T00:46:53.367 回答
0

Alistair Cockburn 的敏捷软件开发

于 2008-08-27T00:59:15.177 回答
0

Ian Craig对面向对象编程语言的解释

因为它向我展示了 OO 比标准的 C++/Java 习语要多得多

于 2008-09-16T14:02:17.190 回答
0

“如何成为一名程序员:简短、全面和个人的总结”,作者: Robert L Read

不完全是一本书,而是一篇文章,但是当我开始编码时,这本书绝对是我的灵感。喜欢进入部落的想法。值得一读。

于 2008-09-16T14:46:03.590 回答
0

当我第一次开始时,有 Tom Swan 的“Mastering Turbo Pascal”。这本书没有什么特别深刻的地方。使用示例清晰简洁。基于这些知识,我开始了 15 年以上的软件开发生涯。

于 2008-09-16T18:41:53.943 回答
0

C++ 黑皮书。一路亲吻

于 2008-09-16T18:42:22.227 回答
0

Sedgewick 的“C 语言算法”(第 1 版)教会了我所有关于算法的知识,也教会了我所有关于文档和复制/粘贴代码的陷阱,因为此版本中的所有示例代码均取自“Pascal 算法”版本并且只是通过一个简单的代码翻译器传递,该翻译器没有针对不同的索引方案进行调整。

于 2008-09-16T19:41:58.137 回答
0

聪明人的 SQL

于 2008-08-21T21:26:53.810 回答
0

从 Tom Swan 掌握 C++。这是最好的书,它的例子很简单,可以教授概念,但又足以解决其他问题。可读性很强,是我上大学时读的第一本书,只需要读一次。

于 2008-09-16T19:04:12.313 回答
0

The C++ Series of programming books by Deitel and Deitel

于 2008-09-16T17:51:30.070 回答
0

管理千兆字节是思考繁重信息的即时经典。

于 2008-09-16T18:07:36.647 回答
0

面向经验丰富的程序员的 C#

或者真正来自迪特尔和迪特尔的任何东西。我读过他们的几本书,一切都很棒。

于 2008-09-16T18:08:12.497 回答
0

不是一本编程书,但仍然是每个程序员都应该阅读的非常重要的书:

Gordon MacKenzie 环绕巨型毛球

于 2008-09-12T01:06:12.563 回答
0

Turbo C++ 中的面向对象编程。不是很受欢迎,但它是让我开始的一本书,也是第一本真正帮助我理解对象是什么的书。在高中读过这篇文章。它有点让我热泪盈眶……

于 2008-12-22T14:15:31.433 回答
0

实际上,有两本书很突出。第一个是代码完成。尽管年代久远,这仍然是一本非常有用的书,而且关于过早优化的危险的章节本身就值这本书的价格。

第二个是 The Psychology of Everyday Things(我认为现在称为 The Design of Everyday Things),它改变了我在设计应用程序时对用户界面的看法。它让我更加关注用户。

于 2008-09-16T21:17:05.443 回答
0

“编写可靠的代码:Microsoft 开发无错误 C 程序的技术(Microsoft 编程系列)”,作者:Steve MacGuire。

有趣的是,这里提到的书籍中有很大一部分是 C/C++ 书籍。

于 2008-09-17T01:53:01.957 回答
0

对我来说,“内存作为 C 和 C++ 中的编程概念”确实让我看到了内存管理的真正工作原理。如果您是 C 或 C++ 开发人员,我认为这是必读的。你会顽固地学习一些东西,或者记住你可能在此过程中忘记的东西。

http://www.amazon.com/Memory-Programming-Concept-C/dp/0521520436

于 2008-09-17T01:59:41.830 回答
0

SAP ABAP 编程?《21天自学ABAP》是最好的书!

它不包含任何巧妙的技巧或魔法,但 3 年后,我从未遇到过更全面的书

于 2008-09-17T05:56:45.070 回答
0

Schaum 的 C++ 编程大纲,作者 John R Hubbard。

这是我开始接触 C++ 时阅读的第一本编程书籍。这是一个看到我对编程感兴趣的人送给我的礼物。这本书非常适合初学者——它从基本概念开始,到模板和向量。给出的例子非常相关。这本书让你思考和提出更多的问题,并为自己尝试一些事情。

于 2008-09-17T06:21:04.997 回答
0

可能是 1997 年左右的“C for Dummies”第 1 卷。真的只是一个介绍,但在雅达利 ST 上的 GFA Basic 编程品味之后,这是一本很好的读物。大约在同一时间的 Coronado C 教程也有帮助。

于 2008-09-17T12:14:42.820 回答
0

Robert Sedgewick 的算法书。应用程序开发人员必读。

有多种风格(C、C++、Java)

http://www.cs.princeton.edu/~rs/

于 2008-09-17T18:40:02.880 回答
0

开始 C# 3.0:面向对象编程简介

这本书适合那些想要了解使用 C# 3.0 进行 OOP 的原因和方法的人。你不想错过它。

于 2009-03-11T04:06:22.753 回答
0

开始 Visual C++

当我第一次开始使用 OOP 语言进行编程时,我发现这本书不仅是一本关于 C++ 和 MFC 的综合性书籍,它还是我所见过的对面向对象概念的最佳解释之一。

当我与刚开始使用面向对象语言编程的开发人员交谈时,我告诉他们阅读这本书。

于 2009-04-27T13:14:31.547 回答