每个程序员应该读的最有影响力的书是什么?
如果我们可以时光倒流,并告诉自己在作为开发人员的职业生涯开始时读一本特定的书,那将是哪本书?
我希望这个列表会有所变化,并且涵盖范围广泛。
搜索:使用右上角的搜索框。要搜索当前问题的答案,请使用inquestion:this
。例如:
inquestion:this "Code Complete"
解决方案
回答
- 史蒂夫·麦康奈尔(Steve McConnell)的Code Complete(第二版)
- 实用程序员
- 计算机程序的结构和解释
- Kernighan和Ritchie的C编程语言
- Cormen,Leiserson,Rivest和Stein的算法简介
- 四人帮的设计模式
- 重构:改进现有代码的设计
- 神话人物月
- 唐纳德·克努斯(Donald Knuth)的计算机编程艺术
- 编译器:Alfred V. Aho,Ravi Sethi和Jeffrey D. Ullman的原理,技术和工具
- 格德尔,埃舍尔,巴赫(Douglas Hofstadter)
- 干净代码:Robert C. Martin的敏捷软件工艺手册
- 有效的C ++
- 更有效的C ++
- 查尔斯·彼得佐德(CODE)
- 乔恩·本特利(Jon Bentley)的《编程珍珠》
- 由迈克尔·C·菲瑟斯(Michael C. Feathers)有效地处理遗留代码
- Demarco和Lister的Peopleware
- Peter Seibel工作中的编码员
- 一定是在开玩笑,费曼先生!
- 有效的Java第2版
- Martin Fowler的企业应用程序架构模式
- 小计划者
- 经验丰富的计划者
- 为什么是(Poignant)Ruby指南
- 囚犯正在避难:高科技产品为何驱使我们疯狂以及如何恢复理智
- Unix编程的艺术
- 测试驱动的开发:以肯特·贝克为例
- 敏捷开发人员的实践
- 不要让我想
- Robert C. Martin的敏捷软件开发,原理,模式和实践
- Eric Evans的域驱动设计
- 唐纳德·诺曼(Donald Norman)的日常用品设计
- Andrei Alexandrescu撰写的现代C ++设计
- 乔尔·斯波斯基(Joel Spolsky)的最佳软件写作I
- Kernighan和Pike的编程实践
- 务实的思维和学习:安迪·亨特(Andy Hunt)重构垃圾软件
- 软件评估:史蒂夫·麦康奈尔(Steve McConnel)揭开妖术的神秘面纱
- 热情的程序员(我的工作去了印度),乍得·福勒(Chad Fowler)
- 黑客:计算机革命的英雄
- 算法+数据结构=程序
- 编写扎实的代码
- JavaScript-好零件
- 通过37个信号实现真实
- Karl Seguin的编程基础
- 计算机图形学:C原理与实践(第二版)
- Bruce Eckel用Java进行思考
- 计算系统的要素
- Joshua Kerievsky对模式的重构
- 现代操作系统,作者:Andrew S. Tanenbaum
- 带注释的图灵
- 唐纳德·诺曼(Donald Norman)使我们变得聪明的事物
- 克里斯托弗·亚历山大(Christopher Alexander)的永恒建筑方式
- 截止日期:汤姆·德马可(Tom DeMarco)撰写的有关项目管理的小说
- Stroustrup的C ++编程语言(第3版)
- 企业应用架构的模式
- 计算机系统-程序员的观点
- Robert C. Martin的C#中的敏捷原理,模式和实践
- 不断增长的面向对象软件,以测试为指导
- Brad Abrams的框架设计准则
- 大卫·韦斯特博士的对象思维
- W. Richard Stevens在UNIX环境中进行高级编程
- 黑客与画家:计算机时代的大创意
- 特蕾西·基德(Tracy Kidder)的新机器之魂
- 杰弗里·里希特(Jeffrey Richter)通过C#编写的CLR
- 克里斯托弗·亚历山大(Christopher Alexander)的永恒建筑方式
- Steve Metsker撰写的C#中的设计模式
- 爱丽丝梦游仙境》,路易斯·卡罗尔(Lewis Carol)
- 禅与罗伯特·皮尔西格(Robert M.Pirsig)的摩托车维修艺术
- 关于面孔-交互设计的要点
- 每个人都来了:没有组织的组织力量Clay Shirky
- 编程之道
- 自然的计算之美
- 史蒂夫·马奎尔(Steve Maguire)编写坚实的代码
- 菲利普和亚历克斯的网络出版指南
- 面向对象的分析和设计及其应用作者:Grady Booch
- Joshua Bloch撰写的有效Java
- N. J. Cutland的可计算性
- 编程大师
- 道德经
- 生产程序员
- 凯文·米特尼克(Kevin Mitnick)的欺骗艺术
- 职业程序员:克里斯托弗·邓肯(Christopher Duncan)的《不完美世界的游击战术》
- 人工智能编程范例:Common Lisp中的案例研究
- 末日大师
- Andy Hunt和Dave Thomas与Matt Hargett一起使用NUnit在C#中进行实用单元测试
- 如何解决它,乔治·波利亚(George Polya)
- Paulo Coelho的炼金术士
- Smalltalk-80:语言及其实现
- 编写安全代码(第二版),作者:Michael Howard
- Philip Wadler和Richard Bird的函数式编程简介
- 没有错误!大卫·蒂伦(David Thielen)
- Jason Freid和DHH的返工
- 行动中的JUnit
回答
@Peter Coulton-我们没有读过Knuth,我们正在学习。
对我和我的工作来说...纯粹的功能数据结构非常适合在考虑和考虑功能性语言的情况下进行开发。
回答
"代码完成"是第一选择,但我也引用了Four of Gang的设计模式和Craig Larman的Applying UML and Patterns。
克里斯托弗·亚历山大(Christopher Alexander)的《永恒的建筑方式》是另一种伟大的方式。即使是关于体系结构的,它也包含在我已经读过的许多优秀编程书籍的参考书目中。
我正在从中学习很多新东西的另一个是Clifton Nock的数据访问模式。
回答
我已经有一段时间了,所以我发现有影响力的大多数书今天不一定适用。我确实相信了解我们要开发的平台(硬件和OS)具有普遍意义。我也认为从别人的错误中学习很重要。因此,我推荐两本书:
计算灾难并寻求愚蠢:二十多年的高科技营销灾难
回答
务实的程序员:毫无疑问,从"旅人"到"大师"。其中的建议非常简洁明了,以至于就像是"常识程序员"一样。爱它。
回答
实用程序员
回答
K&R
@胡安:我知道胡安,我知道,但是有些事情只有实际完成手头的工作才能学到。整日讲抽象的理想只会使你成为一名学者。在摘要的应用中,我们真正了解了它们存在的原因。 :P
@基思:艾伦·库珀(Alan Cooper)提到"囚犯正在逃避庇护所"时,引人注目,这肯定使我大开眼界,自从我读过这本书以来与我合作的任何开发人员都听过我提到了它所拥护的想法。 +1
回答
弗雷德·布鲁克斯(Fred Brooks)的《神秘人月》
http://en.wikipedia.org/wiki/The_Mythical_Man-Month
回答
掌握正则表达式
回答
重构
回答
有效地使用旧版代码是一本非常了不起的书,其中详细介绍了如何正确地对代码进行单元测试以及它的真正好处是什么。这真的让我大开眼界。
回答
重构
企业应用架构的模式
回答
密码工艺
回答
我有几篇有关该主题的(比较古老的)博客文章
- http://www.spindriftpages.net/blog/dave/2005/11/17/c-books/
- http://www.spindriftpages.net/blog/dave/2005/06/06/good-oo-books/
- http://www.spindriftpages.net/blog/dave/2005/05/11/really-great-it-books/
- 尽管我发现一本好书,但我发现《代码完整》读起来很枯燥(我承认这是一个有争议的观点)。
- 我喜欢杰弗里·里希特(Jeffery Richter)和乔尔·斯波克斯(Joel Spolksy)写的书
- Eric Meyer CSS书籍也非常好
回答
除了它们在我的书架上的排列方式外,没有其他特殊顺序:
- 实用程序员
- Fowler的分解
- 有效地使用Feathers的遗留代码。实际上,这是重构的辅助内容。
- Fowler蒸馏的UML。简洁是它的其他优点。
- 史蒂夫·马奎尔(Steve Maguire)调试开发过程
- 设计模式(又称"四人帮"),由Gamma等撰写
回答
肯特·贝克(Kent Beck)的实现模式。
替代文字http://ecx.images-amazon.com/images/I/51JHn-6oNwL.SL500_AA240.jpg
我们可以学习如何通过编程与人交流。
回答
聪明人的SQL
回答
Deitel和Deitel," C ++:如何编程"
XUnit测试模式
回答
阅读Head First Design Patterns,以获得比GoF书更容易理解的介绍。我记得每次学习完课程后都会觉得自己升级了。
肯特·贝克(Kent Beck)的TDD示例驱动测试开发。
回答
除了其他人的建议外,我建议我们获取SICP的副本或者在线阅读。这是我读过的几本书,我感到自己大大提高了我在设计软件方面的技能,尤其是在创建良好的抽象层方面。
《混凝土数学》是一本与编程没有直接关系的书,但对程序员(IMO)来说也是一本好书。本书中的大多数(如果不是全部)主题都对程序员有所帮助,并且在解释事物方面比迄今为止我所读过的任何其他数学书都做得更好。
回答
我是Robert C. Martin的大多数书的忠实拥护者,尤其是《敏捷软件开发,原理和实践》和《清洁代码:敏捷软件技巧手册》。
回答
Alistair Cockburn的敏捷软件开发
回答
我认为《 Unix编程的艺术》是一本非常出色的书,由埃里克·雷蒙德(Eric S. Raymond)出色的黑客/精明的头脑所著,他试图使我们理解软件设计的一些原理(主要是简单性)。对于打算在Unix平台下启动项目的每个编程人员来说,这本书都是必不可少的。
回答
Bunny先生的ActiveX指南
回答
我有几本对我有很大影响的好书,但到目前为止,我还没有看到它:
唐纳德·诺曼(Donald Norman)的《日常事物心理学》。为他人设计的一般原则。这似乎对UI似乎最有利,但是如果我们考虑一下,它几乎可以在任何地方都有应用程序,除了原始开发人员之外,还必须有人与之交互。 e。 G。 API,并以其他开发人员形成正确的思维模型并从API本身获取适当反馈的方式设计接口。
Glen Myers撰写的软件测试艺术。良好的测试软件概述;对程序员有好处的阅读,以帮助他们像测试人员一样思考。 e。考虑可能出了什么问题并为此做准备。
顺便说一句,我意识到问题是"最有影响力的书",但是讨论似乎已改为列出供开发人员阅读的好书,因此我希望我能原谅列出两本好书,而不只是一本。
回答
尽管我同意上面的许多书都是必读的书(实用程序员,神话般的月刊,计算机编程艺术和SICP马上浮现在脑海),但我还是想朝一个略有不同的方向推荐《纪律》 Edsger Dijkstra撰写的《编程》。即使已经32岁了,但对"可验证性设计"的强调还是高度相关的(即使"可验证性"表示"证明"而不是"单元测试")。
回答
史蒂夫·麦康奈尔(Steve McConnell)的《代码完整》(Code Complete)获得了很多票,但是他的《软件项目生存指南》(Software Project Survival Guide)一书又如何呢?我认为他们都需要阅读,但是出于不同的原因。
回答
我最近阅读了《在代码中做梦》,发现它很有趣。自从我开始阅读的那一天起,Chandler 1.0发行了,也许更多。阅读有关试图"改变世界"的人才项目团队不断增长的痛苦和错误,这将为我们提供很多学习的经验。斯科特还带来了很多程序员的知识和智慧,在这之间,这只是一种有趣的阅读。
Beautiful Code的一两件事使我产生了不同的看法,尤其是有关自上而下的运算符优先级的章节。
回答
这不是问题的直接答案,因为我觉得上面已经回答了,但是,肯定会对我的代码产生影响的一本书是《代码阅读》,第1卷:《开放源码》。
替代文字http://g.bookpool.com/covers/405/0201799405_140_30O.gif
回答
代码就是法律我们正在用[我们选择的语言]进行所有的编写,编辑和思考工作,但是为什么呢?我们对MEAN编码什么?它实际上会做什么?
(我本可以推荐一本有关质量检查的书,但我没有...)
回答
Pro Spring是对控制反转和依赖注入的绝妙介绍。如果我们不了解这些做法及其含义,那么Pro Spring中的主题和技术细节之间的平衡非常好。它建立了很好的案例并因此建立了个人基础。
我建议的另一本书是罗伯特·马丁(Robert Martin)的敏捷软件开发(ASD)。代码的味道,敏捷的技术,测试驱动的开发人员,原理……许多不同编程方面的精心编写的平衡点。
更传统的经典作品包括臭名昭著的GoF设计模式,Bertrand Meyer的面向对象的软件构造,Booch的面向对象的分析和设计,Scott Meyer的" Effective C ++'"系列以及我由Gunderloy担任开发人员的一本鲜为人知的书。
虽然书很好,但是别忘了收音机!
...让我再添加一件事。如果我们还没有发现野生动物园,请看看。它比堆栈溢出更容易上瘾:-)我发现,按照我的google类型习惯,我需要更昂贵的订阅,因此我可以随时查看任何一本书,但我建议向甚至有兴趣的人推荐该试用版。
(是的,今天有一点obj-C,明天有可可粉,模式吗?soa?那本菜谱中的例子是什么?史蒂夫在第二版中怎么说?我应该买这本书吗?...这样的订阅很棒如果我们想对正在搜索的内容进行某种连续性和背景信息...)
回答
调试开发过程:专注于目标,赶船日期和建立坚实团队的实用策略。作者:史蒂夫·马奎尔(Steve Maguire)。
废话,脚踏实地,娱乐,博大精深。
回答
我发现《序言的艺术》非常好读。
回答
我认为我的成长经历与这里的大多数人不同。。。
我读过的最有影响力的书之一是APUE。
或者W.理查德·史蒂文斯(W. Richard Stevens)所做的几乎所有事情。
回答
Roger S. Pressman软件工程(从业人员方法)。它有很多有用的信息。
回答
对于入门的程序员而言,这确实不是一本书,但是如果我们正在寻找SOA设计书籍,那么实践中的SOA:分布式系统设计的艺术是适合。
回答
用户是否曾经触摸过代码?如果我们不只是在做后端工作,我建议我们关于Face:用户界面设计的要点?现在处于第三版(链接)。我曾经认为我的用户很愚蠢,因为他们没有"获得"我的界面。我当然是错的。关于脸使我转过身来。
回答
不是编程书籍,而是每个程序员都应该阅读的非常重要的书籍:
戈登·麦肯齐(Gordon MacKenzie)
回答
Pete Goodliffe的Code Craft是一本好书!
Code Craft http://ecx.images-amazon.com/images/I/51WZ9AEC3GL.SL500_BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20.jpg
回答
Brian W. Kernighan和P. J. Plauger撰写的软件工具
它对我编写软件的方式产生了深远的影响。
回答
为了在序言中取得进步,我喜欢这两本书:
序言的艺术
序言的工艺
真正为逻辑编程和递归方案打开了思路。
回答
这是我未曾提及的两个:
我希望我能早点读过Koenig和Moo撰写的" C ++上的书"。那是使OO概念真正吸引我的书。
我还向其他计划在90年代中期开始从事编程职业的人推荐Michael Abrash的"代码优化禅"。
回答
托马斯·弗里德曼(Thomas Friedman)的《世界是平坦的》。
卓越的程序设计需要投入精力和与医学或者法律专业相当的持续学习。它所支付的费用仅为这些专业的一小部分,远远少于支付给精通数学的精通金融行业的人员的工资。而且,构建代码的工资正在下降,因为在大多数经济体中,这一行业对于聪明和自律的人来说相对容易进入。
编程已经侵蚀到支付的费用少于管道支付的程度。管道不能"离岸"。我们不需要每隔两年就参加专业水暖工会议就需要支付2395美元,因为有幸获得一套全新的水暖技术,这将使我们花费一年的时间来学习。
如果我们生活在北美或者欧洲,年轻且聪明,那么编程并不是一个合理的职业选择。绝对涉及编程的业务。学习业务,对编程进行足够的了解以完善BS检测器:精采。但是,将我们最大的精神精力投入到对库,数据结构和算法的掌握上吗?仅当编程对我们而言比经济上的选择更有意义时,才有意义。
如果我们热爱编程,并且因此而打算将其发展为职业,那么我们就应该对这些力量产生冷淡的理解,而这些力量将并且将继续使它变得越来越难于谋生。 。 "世界是平坦的"不会教我们如何命名变量,但是它将使我们沉迷于已经到达的经济现实中6到8个小时。如果我们可以阅读但又不怕它,那就出去买"代码完成"。
回答
人工智能程序设计范例:彼得·诺维格(Peter Norvig)的Lisp案例研究
我开始阅读它是因为我想学习Common Lisp。中途学习时,我意识到这是迄今为止我读过的最伟大的编程书籍。
回答
严格地说,这不是一本开发书,我相信我在其他地方的另一个答案中也提到过它,但是我真的相信这本书是所有开发人员都应该阅读的,从php到Java到程序集开发人员。
代码
它确实汇集了计算机内幕的内容,为什么不应该浪费内存以及计算历史中一些更有趣的部分。它是对计算机及其简介的介绍。它给了我对底层编程的终极热情,并帮助我比其他任何计算机更了解指针和内存。
回答
Andrei Alexandrescu撰写的现代C ++设计
回答
我认为完整的代码将是解决此问题的一种非常流行的方法,对我来说,它纠正了我的许多不良习惯,并重申了我的良好做法。
同样对于我的Perl背景,我真的很喜欢Damian Conway的Perl Best Practices。如果我们不使用样式和最佳实践,那么Perl可能是一种讨厌的语言,这就是我在阅读(有时在编写)的脚本中看到的。
我喜欢Head First系列,当我们不想使用更严肃的风格书籍时,它们非常好,而且易于阅读。
回答
史蒂夫·马奎尔(Steve Maguire)编写的Solid Code。
回答
Grady Booch撰写的"面向对象的分析和应用程序设计"。我很久以前就读过这篇文章,它告诉我,可能存在一种开发面向对象软件的方法。从那以后,许多其他书籍对我产生了影响,但这本书使我开始。
回答
Ian Craig对面向对象编程语言的解释
因为它向我展示了面向对象的东西比标准C ++ / Java惯用语还多
回答
编程Perl(O'Reilly)
回答
Java思维(模式),布鲁斯·埃克尔(Bruce Eckel)
回答
专业的Excel开发
本书展示了如何在最普遍的编程平台之一中制作高质量的应用程序。
回答
我的是通过示例进行测试驱动的开发
回答
Mary和Tom Poppendieck撰写的精益软件开发绝对是每个开发人员书架上的精益软件开发
回答
Aaron Hillegass的Mac OS X可可编程
回答
出于上面提到的许多原因,这是在Head First设计模式与Perl测试:开发人员笔记本之间进行的一次折衷,对于希望编写可维护代码的任何Perl程序员来说,这应该是圣经之一。
回答
有效的C ++和更有效的C ++,作者:斯科特·迈尔斯(Scott Myers)。
回答
这使我开始真正的OOA&D。
应用UML和模式:面向对象的分析和设计与迭代开发简介Craig Larman
这些也将在那里:
- 企业应用程序体系结构中的模式-Fowler
- 域驱动设计-Eric Evans
回答
PHP对象,模式和实践。
http://www.apress.com/book/view/9781590599099
回答
罗伯特·雷德(Robert L Read)的"如何成为程序员:简短,全面和个人总结"
不完全是一本书,而是一篇散文,但这绝对是我入门编码时的灵感。喜欢加入部落的想法。值得一读。
回答
Charles Petzold的Win32编程
回答
麦康奈尔的快速发展
回答
我想我们可以每两周问一次相同的最高评分问题,并提高所有提到代码完整或者The Pragmatic Programmer的人的兴趣。
并不是说有什么问题:-)
回答
Bjarne Stroustrup的" C ++的设计和演变"
除了提供有关C ++的大量背景知识之外,它还是有关大型程序中涉及的权衡和设计问题的冗长研究。
BN.com
回答
由杰西·利伯蒂(Jesse Liberty)和布莱恩·麦克唐纳(Brian MacDonald)(O'Reilly)撰写的《学习C2005》。
ISBN 10:0-596-10209-7.
当我第一次在VS2005中从ASP经典过程代码跃升为面向对象的Ccode时,这本书使我走上了正确的道路。
回答
虽然不是严格意义上的软件开发书,但我强烈建议我们不要让我思考!在此列表中被考虑。
回答
Brian W. Kernighan和P. J. Plauger的软件工具对我影响最大。
回答
斯坦·李普曼(Stan Lippman)在C ++对象模型中。它使C ++最终对我来说"单击",而这全是"魔术"。当使用一种新的编程语言时,这本书给了我不同的思路。
回答
Donald Knuth撰写的Literate Programming,这是一本关于代码结构的好书。
回答
Kernighan和Pike撰写的Unix编程环境。
与其他任何书籍相比,它教会了我更多的好处,那就是可以构建小型,易于测试的工具,这些工具可以组合起来做大事。
回答
Bertrand Meyer的面向对象软件构建
回答
专家C编程:Peter Van Der Linden撰写的Deep C秘密
回答
肯特·贝克(Kent Beck)的《极限编程》
回答
这是一个令人赞叹的收藏。 Edsger Dijkstra(在C.A.R. Hoare的帮助下)的一本小黑书《结构化编程》,特别是题为"论我们无能为力"的文章。
回答
我的高中数学老师借给我一份《我的光影问题》(Are Your Lights Figure Problem),我已经重读了很多遍。作为开发人员,乃至整个生活,它都是无价之宝。
回答
问题是,"哪本书真正影响了我们作为开发人员的工作方式?"毫无疑问,Jeff Prosise的《使用MFC编程Windows》是一本对我作为开发人员的工作方式产生最大影响的书。它没有教给我"编程"的基础知识,但是它为我和成千上万的其他开发人员打开了Windows平台开发的世界。
在开发MFC之前,我曾以" Petzold风格"编写过一些Windows代码。我很快就决定了Windows平台,作为开发人员,我们根本不值得麻烦。当Prosise出版其MFC书时,我意识到(与成千上万的其他非Windows程序员一起),我可以创建一个易于使用的界面,用户不仅会理解,而且会真正享受使用。我吞噬了这本书,在其中记了很多笔记,拒绝了很多角落,最终买了第二本。
Prosise,杰夫。使用MFC 2nd Ed对Windows进行编程。
微软出版社1999
国际标准书号(ISBN):1-57231-695-0
回答
福特的生产程序员
我还没有完全通过这一技巧,但是我已经为我所学到的一些技巧/窍门感到兴奋,这些技巧/技巧变得越来越...好...富有成效。
当然,我们已经知道很多东西(使用键盘快捷键,DRY等)。但是,有很多新的东西可以搭配它。细心的读者将迅速开始了解如何将事物组合起来以产生更大的效果。
回答
Grady Booch的面向对象分析与设计
回答
Deitel和Deitel撰写的C ++系列编程书籍
回答
布鲁斯·埃克尔(Bruce Eckel)的" C ++中的思想"
回答
Eric Evans的域驱动设计
回答
管理千兆字节是考虑信息繁重的即时经典方法。
回答
Cfor经验丰富的程序员
或者实际上是Dietel&Dietel的任何东西。我读了他们的几本书,一切都很棒。
回答
几年前,布鲁斯·埃克尔(Bruce Eckel)的《 C ++思维》教会了我很多有关C ++的知识,但也将问题隔离到一个小的"沙盒"中进行研究/分析的重要性。这项技术极大地影响了我的职业,并经常帮助我为自己和他人解决问题。
这些天来,我指的是以相同的方式编写的Java思维。不知何故,样式不只是简单的"示例",而且深深地成为问题的核心。
我非常感激,几乎看不见我会买Eckel的任何东西。
回答
http://ecx.images-amazon.com/images/I/519J3P8ANML.SL500_AA240.jpg
使我的编程达到了一个全新的水平。
回答
我刚开始的时候,汤姆·斯旺(Tom Swan)创作了《精通Turbo Pascal》。这本书没有什么深奥的东西。可用示例清晰明了。基于这些知识,我催生了15年以上的软件开发生涯。
回答
C ++ BlackBook。一直贯穿
回答
唐纳德·诺曼(Donald Norman),"日常事物的设计"
本质上,这与编程无关,而是与世界上的事物应该如何工作有关,这与可用性的心理有关。
对我来说,设计最终用户界面和API都是无价之宝。
回答
汤姆·斯旺(Tom Swan)精通C ++。这是最好的一本书,它有一些例子,这些例子很容易讲授概念,但足以解决其他问题。它的可读性很强,是我上大学时读的第一本书,只需要阅读一次。
回答
Tenenbaum的第一本操作系统书籍。我首先看内核级编程。
回答
Sedgewick撰写的" C中的算法"(第1版)不仅教会我有关算法的知识,而且还教给我所有有关文档和复制/粘贴代码的陷阱的知识,因为此版本中的所有示例代码均来自" Pascal中的算法"版本并且只是通过一个简单的代码转换器传递,该代码转换器无法针对不同的索引方案进行调整。
回答
我一直以来最喜欢的是马修·泰勒斯(Matthew Telles)撰写的CBack Book。
回答
在代码中做梦可能在过去6个月中产生了最深远的影响。
回答
Bjarne Stroustrup的" C ++编程语言"
回答
Mike Gunderloy撰写的开发人员编码。
回答
实际上,有两本书脱颖而出。第一个是代码完成。尽管年代久远,但这仍然是一本非常有用的书,而过早优化的危险这一章值得一书。
第二个是"日常事物心理学"(我认为现在称为"日常事物设计"),它改变了我在设计应用程序时对用户界面的思考方式。它使我更加注重用户。
回答
Amiga ROM内核手册:)
回答
Stanley Lippman撰写的C ++对象模型
回答
如何像计算机科学家一样思考:使用python学习
可能不是世界上最高级的书,但它使我了解了我无法理解的编程概念,尤其是面向对象的主题。
回答
这可能不算作"发展书",但无论如何我还是要把它扔进去:斯蒂芬·列维(Stephen Levy)的黑客。我发现它谈到了编程的情感方面。
回答
史蒂夫·麦圭尔(Steve MacGuire)撰写的"编写坚实的代码:Microsoft开发无错误C程序的技术(Microsoft编程系列)"。
有趣的是,这里提到的大部分书籍都是C / C ++书籍。
回答
对我来说,"内存作为C和C ++中的编程概念"确实使我对内存管理的工作方式真正睁开了眼睛。如果我们是C或者C ++开发人员,那么我认为它是必读的。我们将反抗学习或者记住一路上可能忘记的事情。
http://www.amazon.com/Memory-Programming-Concept-C/dp/0521520436
回答
另外,我还要提到休·达文(Hugh Darwen)和CJ日期(CJ Date)的《第三宣言》。如果我们对理解数据感兴趣(这在程序员中似乎并不常见),那么这本书是一本必读的书。当我们意识到损坏的SQL有多严重时,这也会使我们感到悲伤,但是它也可以应对损坏的情况。了解工具的损坏方式后,我们可以在设计时考虑到这些缺陷。
回答
Ken Schwaber和Mike Beedle用Scrum进行敏捷软件开发。
我以本书为起点来了解敏捷开发。
回答
务实的程序员非常出色。但是,当我刚开始时真正产生影响的是:
Windows 95系统编程的秘密"
我知道这听起来不错,在外部看起来有点俗气,可能已经过时了,但这是对Win95内部的一个很棒的解释,它是根据Authors(Matt Pietrek)使用他自己的工具进行调查的,该工具随附了该工具的代码。书。请记住,这是在整个开放源代码发布之前,Microsoft在发布内部文档(更不用说源代码)方面仍然持谨慎态度。
那里有一些引述,例如"如果我们正在解决某个问题并遇到某个症结,那么我们需要停下来并真正深入研究该部分并真正理解其工作原理"。我发现这是一个很好的建议,尤其是在最近这些天,当我们经常拥有图书馆的资源并且可以去看看的时候。
这也激发了我享受深入研究系统工作原理的乐趣,这在我的职业生涯中被证明是无价的。
哦,我还要从Don Box那里获得有关.Net的有效.net很棒的内部解释。
回答
SAP ABAP编程?
《 21天自学ABAP》是最好的书!
它不包含任何巧妙的技巧或者巫术,但是三年之后,我再也没有见过更全面的书了
回答
约翰·R·哈伯德(John R Hubbard)撰写的Schaum的C ++编程提纲。
当我开始使用C ++时,这是我读的第一本编程书。看到我对编程感兴趣的人给了我礼物。这本书对于初学者来说非常好,它从基本概念开始,到模板和向量。给出的示例非常相关。这本书使我们思考并提出更多问题,并亲自尝试一下。
回答
对我而言,最有影响力的编程书是艾伦·霍鲁布(Allen Holub)撰写的《用绳子射击自己的脚》。
该书的封面http://ecx.images-amazon.com/images/I/71AE90J735L.SL500_AA240.gif
哦,好,是多久以前了。
回答
近年来,它是" Nicolai M. Josuttis"的" C ++标准库"。这是我的圣经。
替代文字http://ecx.images-amazon.com/images/I/51BT5SKXTCL.SL500_AA240.jpg
回答
Martin Fowler的《重构:改进现有代码的设计》已经列出。但我将详细说明它为什么影响了我。
整本书的本质是关于结构化代码,以便人们更容易阅读和理解。它强烈地告诉我,我编写的代码旨在供我的同事和继任者使用,并可能从中学习一些有益的东西。它激发了我有意识地编程,使人们称赞我的名字,而不是诅咒我永恒。
回答
另一本尚未提及的书,应该是每个程序员(使用任何编程语言的入门级新手)都必须阅读的,是MSPress的Michael Howard的《编写安全代码》(第二版)。
回答
第一本对我产生真正影响的书是汤姆·斯旺(Tom Swan)的《精通涡轮装配》。
其他影响深远的书是Linus Torvalds和David Diamond的《 Just For Fun》,当然还有Andrew Hunt和David Thomas的《实用程序员》。
回答
既然有如此多的人列出了Head First Design Patterns,我同意这是一本非常好的书,所以我想看看是否有这么多人意识到一个名为" Design Patterns Explained:面向对象设计的新视角"的标题。
这个标题很好地处理了设计模式。本书的前半部分非常易于访问,而其余各章仅需牢固地掌握已涵盖的内容。我之所以认为本书下半部分的访问性较差的原因是,它涵盖了我作为一个年轻的开发人员公认缺乏的模式在经验上,没有用太多。
该标题还介绍了设计模式背后的概念,涵盖了克里斯托弗·亚历山大(Christopher Alexander)在建筑学方面的最初工作,以及GoF首次在SmallTalk中实现文档模式。
我认为任何喜欢Head First设计模式但仍然发现GoF非常枯燥的人,都应该将Design Patterns Explained视为更具可读性(尽管不那么全面)的替代方法。
回答
如何通过计算机解决该问题http://g-ecx.images-amazon.com/images/G/01/ciu/31/89/d4ac024128a044c186a18010.AA207.L.jpg R.G. Dromey
回答
克雷格·拉曼(Craig Larman)的《应用UML和模式》。尽管"四人帮"一书的《设计模式》非常有启发性,但我发现直到编程课程遍历Larman的书时,我才"了解"如何使用设计模式。
回答
雷·邓肯(Ray Duncan)的高级MS-DOS。
回答
大概是在1997年左右的" C for Dummies"第一卷中。确实只是一个介绍,但是在了解了Atari ST上GFA Basic编程知识之后,这是一本不错的书。大约在同一时间的Coronado C教程也有所帮助。
回答
对于低水平的娱乐,我建议迈克尔·阿布拉什(Michael Abrash)
i)-代码优化和
ii)-图形编程黑皮书
即使我们不进行任何图形编程。
回答
迈克尔·阿布拉什(Michael Abrash)汇编语言的禅宗
回答
应用UML和设计模式。
它帮助设计模式与我一起点击,并为UML辩护,这在" UML as Sketch"一词中对我来说很有意义。也就是说,应该将UML用作系统的简要草图,该系统的额外好处是我们不必向他人解释表示法(他们已经了解UML或者我们给他们提供了一本UML书以供阅读)
回答
Robert Sedgewick的《算法》一书。应用程序开发人员必读。
有多种口味(C,C ++,Java)
http://www.cs.princeton.edu/~rs/
回答
如果我们正在Unix / Linux / MacOS等操作系统中进行任何操作,则必须阅读已故W理查德·史蒂文斯(W Richard Stevens)的《 Unix环境中的高级编程》(又称缩写APUE)。如果我们不知道文件描述符的工作方式或者会话是什么,或者不知道自己进行守护进程时应该做的所有事情(承认,我们不知道),那么这本书将告诉我们。
此后,我们会感到有点不熟悉,但是如果我们想将自己视为Unix环境中的专业程序员(使用任何语言),则需要阅读此书。
回答
我会说"超越代码学习以9个简单的步骤使自己脱颖而出"是一本不错的,很有启发性的书。我没有涉及技术问题,但是它描述了与人合作,成为专业人士的方式。。。对我来说,如果我们需要一些鼓舞士气的话,这本书可以一遍又一遍地阅读。除此之外,它便宜而且非常容易且可在3到4个小时内阅读。
我的博客上有一些评论。
回答
无论我们是使用Smalltalk编码还是不使用Smalltalk最佳实践模式进行编码,都是一本好书。充满小意见,这些意见将改变编码方式;为了更好。
回答
即使我从事专业编程多年,Rocky Lhotka的CSLA框架"业务对象"系列也让我大开眼界。
他的想法让我再次对软件开发模式和理论感到兴奋。它使我在学习如何成为一名更好的开发人员方面有了新的兴趣,而不仅仅是学习最新的gee-whiz控件或者库。 (不要误会我的意思,我仍然喜欢一本好技术书,你也要跟上!)
回答
我发现《算法设计手册》非常有用。我也强烈推荐Programming Pearls。
回答
罗杰·考夫曼(Roger Kaufman)博士撰写的" Fortran图画书"(1978,ISBN:0262610264)
愚蠢的概念比"傻瓜"书更基本!但是它适用于任何语言(当然有一些fortran特定示例),以一种非常容易理解和"痛苦有趣"的方式解释了逻辑,变量,I / O等基本概念。
足以让十岁的孩子对编程感兴趣...
(在Flickr用户帐户上找到封面照片)
回答
推荐给Windows程序员,Windows编程
回答
令我惊讶的是,至今还没有提到这本书:Leo Brodie着的《从头开始》(Starting Forth)。毕竟,作为基于堆栈的语言,Forth应该适合该站点上的受众。
诚然,Forth是一种奇怪的语言,并且在最近这些天并不流行。但是这本书很有趣。它有卡通!这本书以及Brodie的另一本书《 Thinking Forth》都可以在网上免费获得。
回答
替代文字http://ecx.images-amazon.com/images/I/61dECNkdnTL.SL500_AA240.jpg
C ++如何编程对初学者来说是一件好事。这是一本非常出色的书籍,完整地包含了1500页。
回答
丹尼尔·平克(Daniel Pink)的《全新思维》。对我们行业的未来感兴趣。
我认为大多数阅读此书的人已经阅读了清单顶部的书。因此,我将提供一本对我们行业有不同看法的书。
替代文字http://www.danpink.com/images/wnm.jpg
回答
Edward Tufte的任何内容:定量信息的可视化显示;构想信息;视觉说明
回答
Robert L. Glass撰写的软件工程的事实和谬论http://www.codinghorror.com/blog/images/facts-and-fallacies-of-software-engineering.jpg
Robert L. Glass撰写的《软件工程的事实与谬论》是一本非常出色的书。在阅读本书之前,我已经是一名专业的黑客,已经有将近10年的时间了,而且我仍然学到了很多东西。
回答
面向计算机科学家的离散数学http://ecx.images-amazon.com/images/I/51HCJ5R42KL.SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02.jpg
J.K.为计算机科学家设计的离散数学桁架。
尽管这不会教我们编程,但它会教我们每个程序员都应该知道的基本数学。我们可能还记得大学里的这些东西,但实际上,执行谓词逻辑将提高编程技能,如果我们想使用集合进行编程,则需要学习Set Theory。
这里确实有很多有趣的信息,可以使我们以不同的方式思考问题。拥有它很方便,只是偶尔去学习一些新东西。
回答
好的,所以问题不是"什么是最好的编程书",而是"如果我们能告诉自己在职业生涯开始时应该读什么" ...
可能是Udi Manber撰写的" On Lisp"和SICP中的一种,再加上CLRS或者"算法:一种创造性的方法"中的一种。
Udi Manber的算法简介http://vig-fp.prenhall.com/bigcovers/0201120372.jpg
前两个课程将教授许多编程技术,模式,并真正使自己对自己的创造力敞开心;;其他两个是不同的。它们在理论上更重要,但也很重要,着重于设计正确和有效的算法(并且需要更多的数学运算)。
当出现"好的编程书籍"的主题时,我看到很多人都在推荐三本书,但是最后一本书(Manber写的)是一本好书,很少有人知道。这是一个耻辱! Manber专注于通过归纳法证明定理的算法的增量开发。
回答
如果我们使用C语言编写代码,那么Expert C编程将大开眼界。它对我们想知道为什么以这种方式起作用的所有问题都有答案。彼得·范·德·林登(Peter Van Der Linden)具有出色的写作风格,并使奥术概念易于阅读。所有C开发人员必读
回答
厄运大师。就我们对职业的动力和热爱而言:这真的比本书中所描述的要好得多,这真是令人鼓舞的故事!
回答
Cress,Dirkson和Graham撰写的Fortran IV,Watfor和Watfiv。
这本书教了我第一本编程语言,当时我在打孔卡上进行了编程。三年后,这本书简直是破烂不堪,因为我已经用了太多了。
替代文字http://g-ecx.images-amazon.com/images/G/01/ciu/4b/83/245d9833e7a03768eaf63110.AA240.L.jpg
Fortran是一门很棒的语言!它具有一个超级优化器,并生成了非常快速的代码。它在英国仍然很受欢迎,并且FTN95现在是功能非常强大且功能强大的编译器。有时我希望我可以继续使用它,但是Delphi是一个绰绰有余的替代品。
回答
似乎没有人提到Stroustup的C ++编程语言,这是每位C ++程序员都应该读的好书。
我还认为每位程序员和经理都应阅读《极限编程说明:拥抱变化》。本书中的许多思想现已成为常识,但本书对软件工程的质量追求提出了明智而振奋的说明。
我将对经典的Knuth和Gang of Gang的建议进行第二次审核。
回答
Craig Larman的《应用UML和模式》。
这本书的标题有点误导;它确实处理UML和模式,但涵盖了更多内容。本书的副标题告诉我们更多信息:面向对象的分析和设计以及迭代开发简介。
回答
Windows中的图形编程很难出错。
回答
Systemantics:系统如何工作,尤其是它们如何发生故障。便宜地得到它。但是,除非我们从事了一些失败的项目,否则我们可能不会幽默。
这本书的美在于版权年。
这本书中可能是最深刻的外卖"法律":
基本故障模式定理(F.F.T.):复杂系统通常以故障模式运行。
这种想法是,在任何给定的软件中都存在故障部件,这些故障部件被其他部件的故障或者其他部件的验证所掩盖。请参阅Therac-25辐射机上的实际示例,该软件的缺陷已被硬件故障保护所掩盖。移除硬件故障保护装置后,这些年来一直未被发现的软件争用状况导致机器杀死了3个人。
回答
W. Richard Stevens在UNIX环境中进行高级编程。
回答
当我开始用Java开发时(至今仍在这样做),我不得不向我们推荐该领域的杰出工作:Bunny先生的Java大杯。
从作者的摘录来看:
There is simply no better way to learn Java than to have the pineal gland of an expert Java programmer surgically implanted in your brain. Sadly, most HMOs refuse to pay for this career saving procedure, deeming Java to be too experimental. At last there is an alternative treatment for those of us who cannot wait for sweeping health care reforms. Mr. Bunny’s Big Cup O’ Java is recommended by n out of ten doctors, where n is any integer you wish to make up to impress an astoundingly gullible public. The book begins with an overview of the book, and quickly expands into the book itself. Just look at the topics covered: Java In short, MBBCOJ will teach you all you need to know for a successful career in today’s rabbit development environments.
仅对像素的了解将使我的软件开发寿命缩短数年。
回答
查尔斯·韦瑟雷尔(Charles Wetherell)的《程序员的练习曲》,《更多编程的珍珠》(乔恩·本特利),
回答
绝对的软件工艺
替代文字http://ecx.images-amazon.com/images/I/5186JKTDVWL.SL500_AA240.jpg
本书解释了许多有关软件工程,系统开发的内容。了解不同类型的产品开发之间的区别也非常有用:Web VSrinkwrap VS IBM框架。人们在构思瀑布模型时会想到什么?阅读本文,我们将变得更加清晰(希望如此)
回答
对我来说,这是"设计模式解释",它为我提供了关于设计模式的"哦,这就是它的工作原理",在向他人教授设计模式时非常有用。
回答
Scelbi字节入门
我仔细研究了本书中的源代码清单,直到有一天,我突然发现了8080汇编语言编程。
回答
Turbo C ++中的面向对象编程。并不是超级流行,但这是使我起步的那本书,并且是第一本真正帮助我理解对象是什么的书。在高中时读一读。有点让我眼泪...
回答
- 游戏体系结构和设计:学习游戏设计和编程的最佳实践
即使我从未编写过游戏,但本书仍以有趣的方式帮助我了解了很多东西。
回答
- 专业JSP第二版
当我是一个完全的新手时,我大吃一惊,并让我从短时间内就知道Java存在,成为了一个可靠的团队成员
回答
羞耻接口大厅仍然是一个值得的经典。该网站详细介绍了许多有趣的界面设计。原始的iarchitect.com不再存在,但是其他人已经在自己的网站上重新建立了HOS。
回答
面向对象的设计启发式是一本好书。我不能拒绝它。
回答
我将添加一些对我有影响力的未见过的夫妇:
- 尤登和君士坦丁,"结构化设计"。如果我们愿意对此进行一点了解,那么我们需要了解的有关软件设计的所有内容都在这里。
- 伦纳德·科伦(Leonard Koren),"瓦比·萨比(Wabi-Sabi):面向艺术家,设计师,诗人和哲学家"。平衡美与实用主义的务实哲学。
回答
不是最有影响力,但值得一看的是J.M. Coetzee的《青春》(Youth)。
青年时代的叙述者,1950年代在南非的学生,长期以来一直在逃离他的祖国:从母亲的窒息之爱,从失败中困扰他的父亲,到他确信即将发生的一切革命。学习数学,阅读诗歌,省钱,他努力确保当他到达现实世界时,无论身处何处,他都将准备充分体验生活,并将其转变为艺术。然而,他最后到达伦敦时,既没有诗歌也没有浪漫。取而代之的是,他屈从于作为计算机程序员的生活的单调乏味,在这种生活中,随意的,无情的事务无法缓解。缺乏灵感,他停止写作。他是一个笨拙的殖民者,是宪政的局外人,开始了黑暗的朝圣之旅,在这个朝圣之旅中,他不断地经受考验,并不断地感到缺乏。
青年封面http://img440.imageshack.us/img440/5140/youthgd4.jpg
回答
如何解决:数学方法的新方面
尽管与计算机编程没有直接关系,但是它确实教会我们解决问题的技巧,这就是计算机编程的全部内容。
回答
我在博客中也看到了有关XI-Factory的软件工厂:用模式,模型,框架和工具组装应用程序的评论,我读了它,我必须说这本书是必读的。尽管没有专门针对程序员,但它非常清楚地解释了模型驱动的体系结构等在当今编程世界中正在发生的情况。
回答
C3.0入门:面向对象编程的介绍
这本书适合那些想了解使用C3.0进行OOP的原因和方式的人。你不想错过它。
回答
我正在阅读敏捷软件开发,原理,模式和实践。对于那些对XP和面向对象设计感兴趣的人来说,这是经典的读物。
替代文字http://ecx.images-amazon.com/images/I/519J3P8ANML.SL500_AA240.jpg
回答
这是一本不错的书,没有得到广泛的赞誉,但是充满了深刻的见解:《敏捷软件开发:合作游戏》,作者:Alistair Cockburn。
有什么特别之处?好吧,显然每个人都听说过"敏捷"一词,而如今似乎大多数人都是信徒。但是,不管我们是否相信,敏捷运动存在的背后都有一些深层的原则。本书以精确,科学的方式揭示并阐明了这些原理。其中一些原则是(顺便说一句,这些是我的话,不是Alistair的话):
- 团队软件开发最困难的事情是让每个人的大脑都具有相同的理解。我们正在建立庞大,复杂,复杂的系统,这些系统在有形的世界中是看不见的。我们越能吸引更多人的大脑来分享更深刻的理解,团队就越能有效地进行软件开发。这是配对编程有意义的根本原因。大多数人都忽略了它(我一开始也做过),但是考虑到这一原则,我强烈建议我们再试一次。我们结识了两名非常了解我们刚刚构建的子系统的人...没有太多其他方法可以这么快地进行如此深入的信息传输。这就像一个瓦肯人的心灵融合体。
- 我们不一定总是需要用言语来快速传达深刻的理解。结果是:太多的单词,而我们超出了听者/阅读者的能力,这意味着我们尝试的理解转移不会发生。考虑到孩子们通过"沉浸"和"吸收"来学习如何说语言。不仅是语言……他还举了一些孩子在地板上玩火车的例子。随之而来的是另一个从未有过看过火车的孩子……但是通过观看其他孩子,他拾起了游戏的要旨并一直玩着。这种情况一直在人类之间发生。加上太多单词的推论,可以了解在过去的"瀑布"时代尝试编写700页详细的需求规格说明是多么被误导了。
那里还有更多。我现在闭嘴,但我强烈推荐这本书!
回答
我想到了三本书。
- Eric S. Raymond撰写的Unix编程艺术。
- 魔法书由里克·库克(Rick Cook)编写。
- 唐纳德·克努斯(Donald Knuth)撰写的《计算机编程艺术》。
我也喜欢Paul Graham的著作。
回答
GW Basic简介。如果没有它,我将永远不会学习如何编程,其他书籍也不会给我带来任何好处。
回答
开始Visual C ++
当我第一次开始使用OOP语言进行编程时,我发现这本书不仅是一本有关C ++和MFC的综合性书籍,而且还是我所见过的有关面向对象概念的最佳说明之一。
当我与刚开始使用面向对象语言进行编程的开发人员交谈时,我告诉他们阅读本书。
回答
在学习Big O表示法以及各种排序算法的来龙去脉中,C ++算法对我而言非常宝贵。这本书是在塞奇威克(Sedgewick)决定通过将其分成5本不同的书来赚更多钱之前出版的。
C ++ FAQs是一本了不起的书,它确实向我们展示了我们在C ++中应该做和不应该做的事情。 C ++的向后兼容性留下了很多地雷,这本书有助于一个人仔细地避免它们,同时又是对OO设计和意图的一个很好的介绍。
回答
Kernighan&Plauger的编程风格要素。
它说明了花哨的巧手和优雅的巧手之间的区别。
回答
Solid Code优化软件开发生命周期
尽管这本书只有300页,并且支持Microsoft技术,但它仍然提供了一些与语言无关的好习惯。
回答
我个人最喜欢的游戏之一是Hacker's Delight,因为它既有趣又具有教育意义。
希望第二版能尽快发布!
回答
我读了大多数在这个问题上得分很高的书,但不是全部(感谢上帝!),我立即将另外一本书添加到了我的亚马逊愿望清单中!
(有人应该在亚马逊上为这些书创建一个清单...也许是一个名为:"有史以来Stackoverflow最好的书"的清单?有人知道该怎么做吗?)
对我来说,有史以来最好的书是《代码完整》。这是一个启示。我用英语买了第二版,然后用法语买了第二版,但我仍然认为这应该是任何计算机科学学校的必修课。数据结构很酷,但是代码完整,不开玩笑,更重要。。。
然后,我的第二本最好的书是《编写固体代码》,学习了如何理解,知道如何编写固体代码真是太好了。
然后有很多非常好的书,但这里没有人提及。在2001年之前,我认为:框架设计指南:可重用.NET库的约定,惯用语和模式。一颗宝石!我读了很多本书,它和Code Complete(真的!)一起放在我的液晶显示器旁边的桌子上。我喜欢它的写作方式(喜欢这里添加的注释,那里的书都应该这样写!)
但是好吧,我忘记了我读过的第一本好书!那些让我充满激情地热爱计算机科学的人:
- 计算! (C64杂志-永远不会忘记吉姆·蝴蝶(o)
- 《 Borland C ++用户指南》(较旧的版本,大约在1991年,那些试图引入面向对象编程的人,写得很好)。
- 1990-1995年间,大多数《 Microsoft Developpement Tools用户指南》。不知道是谁在写它们,但是它们非常酷!我记得在星期六深夜读过它们。
好,很好的问题:o)
回答
计算机编程的概念,技术和模型。
替代文字http://ecx.images-amazon.com/images/I/51YZ50ZR13L.SL500_AA240.jpg
回答
书中的所有思维。
布鲁斯·埃克尔(Bruce Eckel)是教育学的天才人物!
理解C ++中多态的实现非常容易。它包含有关C ++,基本概念和高级概念的所有知识。比Stroustrup的更好。
我也和他一起学过Java。
最后但并非最不重要的一点:
C ++是免费的!
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
回答
去年,我参加了许多课程。我读
创新者的困境(颠覆性技术)
神话人月(管理软件)
穿越鸿沟(启动)
数据库管理系统,COW书
编程C#,OSTRICH书
开始iPhone开发,GRAPEFRUIT书
每本书都很了不起,但克莱顿·克里斯滕森(Clayton Christensen)的《创新者的困境》(Innovator's Dilemma)(1997 !!!)确实是一本奇妙的书,它使我真正想到了现代软件世界。解决的挑战是颠覆性技术,以及磁盘驱动器公司和非技术公司如何总是被新的,改变游戏规则的技术所破坏。在考虑可能是最大的"网络"公司的Google时,它提供了一种新的视角。他们为什么要全力以赴?这是因为他们不想让自己的职位受到新事物的干扰。谷歌上的预览有很多想法。阅读!
回答
除了上面提到的伟大的:
企业应用架构的模式
企业整合模式
回答
由于我是一名编程人员,并且已经提到了大多数通用书籍,因此我想推荐Bill Wagner的著作"更有效的C#。
我认为大多数开发复合WPF应用程序的人也应该看看Microsoft的复合应用程序指南(也称为Prism):
复合应用指南
回答
Peter Norton的IBM PC汇编语言书
我在PC(DOS)前面度过了无数个夜晚,探索着未知的世界:-D
回答
完美的软件:有关测试的其他幻想
标题封面http://ecx.images-amazon.com/images/I/51j3BSRspAL.SL500_AA240.jpg
完美的软件:以及Gerald M. Weinberg关于测试的其他幻想
ISBN-10:0932633692
ISBN-13:978-0932633699
回答
一本书的影响力通常取决于读者以及他们读这本书时的职业。我必须大声疾呼"头先设计模式"。出色的书及其极富创造力的方式应作为其他技术书作家的榜样。 IE。编写该文档是为了促进概念的学习和内部化。
首先设计模式http://ecx.images-amazon.com/images/I/51LSqrgoT1L.SS500.jpg
回答
埃里克·埃文斯(Eric Evans)的《域驱动设计》是一本很棒的书!
回答
解释极端编程:Kent Beck拥抱变化。虽然我不主张采用XP或者高速公路的硬性方法进行软件开发,但我希望我在职业生涯的早期就已将本书的原理介绍给我。单元测试,重构,简单性,持续集成,成本/时间/质量/范围这些改变了我看待开发的方式。在敏捷开发之前,一切都与调试器和对变更请求的担心有关。敏捷之后,那些恶魔并没有那么大。
回答
编程实践。布莱恩·W·克尼根(Brian W.Kernighan),罗伯·派克(Rob Pike)。
此处显示的样式非常出色,代码本身就说明了这一点,整本书都遵循KISS原则。我个人不是我选择的语言,但仍然对我有影响。
回答
似乎大多数人已经接触过一些非常好的书。真正帮助我解决问题的方法之一是有效的C#:改善C#的50种方法。如果我不提《维尼之淘》,我会很失落。哲学书籍对灵魂和代码都有好处。
回答
我在这里还没有看到的一个是xUnit测试模式:Gerard Meszaros编写的"重构测试代码"。这本书确实帮助我从全新的角度看了单元测试。
回答
Brian W.Kerninghan和Rob Pike撰写的"编程实践"。
语言简单,主题也很有趣。
回答
对于这个问题,我来晚了,但是显然仍然可以提供一些独特的东西。Barry Boehm撰写的《软件工程经济学》总结地说,如果我们想真正提高软件生产率,那就需要更好的人才,因为更好的工具,硬件,语言,方法等都会产生边际影响。只有更好的人才能大幅提高生产力。我强调,这是更好的工程师,而不是更多的工程师!
这不是我们要带走的那种书,就像我们在《编码员在工作》中所做的那样,而是那种驱使我们汲取教训的书,这是我们行业竭力想起的。 Boehm模型预测,离岸外包是虚假的经济,如果有的话,只会产生很小的积极影响。一探究竟。
回答
任何导师/团队负责人/经理或者向上述人员报告的任何人的必读材料。
替代文字http://ecx.images-amazon.com/images/I/316N6QYW32L.BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01.jpg
回答
黑客,史蒂文·利维(Steven Levy)。
个性和生活方式必须首先。其他一切都可以学到。
回答
UNIX环境中的高级编程W. Richard Stevens
回答
彼得·范·德·林登(Peter Van Der Linden)撰写的"专家C编程深入C的秘密"一书发生了经典而令人愉快的阅读。早在学习C之前就应该立即阅读,但是在学习C的3年后才了解它!一本推荐的书,它回答了有关指针的最常见的SO问题(我最喜欢的主题)。活着,吃它,呼吸它! 10/10!
回答
这是每个程序员必读的书:Abraham Silberschatz的数据库系统概念。
替代文字http://images.barnesandnoble.com/images/14870000/14878097.JPG
回答
这是一个非常丰富和有用的汇编,但是,令我感到惊讶的是我还没有在作者中遇到过Andrew S. Tanenbaum。 IMO是他最好的CS教授之一,他的才华主要与他非凡的能力有关,使CS本科生可以轻松获取相当困难的资料。他的书(现代操作系统或者计算机网络可能会响起)在做我的BS时为我提供了扎实的CS基础方面的工作非常出色,我强烈推荐它们。
Tanenbaum上还有一些有趣的东西,证明了他的技能超出了教学范围:名为MINIX Linus的OS的作者在实现Linux时从中得到了很多启发。变形虫分布式操作系统;乌龟免费的匿名p2p网络。
回答
新图灵综合巴士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!=编程,但这对于每个程序员仍然有用。
回答
游戏设计艺术杰西·谢尔(Jesse Schell)的《镜头之书》
Jesse Schell has taught Game Design and led research projects at Carnegie Mellon’s Entertainment Technology Center since 2002.
纳夫说。
游戏设计艺术镜头之书http://i50.tinypic.com/iekw0l.jpg
PS:对不起,如果我要双重发帖,可能是因为书名不正确或者没有图像而在答案中找不到这本书。让我知道,如果删除,我将其删除。
回答
每个程序员应该了解的内存知识
Ulrich Drepper的作者解释了现代内存子系统的结构,并提出了如何有效利用它们的建议。
PS:对不起,如果我要双重发帖。
回答
每个程序员都应该知道的97件事
替代文字http://ecx.images-amazon.com/images/I/51F134Q8TrL.BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01.jpg
本书汇集了一些世界上最好的程序员的集体经验。这是一本必读的书。
回答
Bunny先生的ActiveX指南
回答
我的投票是"如何像计算机科学家一样思考:使用Python学习"
它既可以作为书本也可以作为免费电子书获得。
它确实帮助我不仅了解了Python的基础知识,而且还了解了一般的编程知识。尽管它使用Python演示概念,但它们适用于大多数(如果不是全部)编程语言。另外:它是免费的!
回答
IBM PC程序员指南。粉红色衬衫的书。
...嗯,有人不得不说。
回答
面向对象的分析与设计及其应用by Brady Booch
回答
You.Next():将软件开发职业移至领导力轨道
〜Michael C. Finley(作者),Honza Fedk(作者)
连结文字
回答
Maverick !:世界上最不寻常的工作场所背后的成功故事
替代文字http://ecx.images-amazon.com/images/I/410TX7YN94L.SL500_AA300.jpg
将使我们意识到工作场所应该是什么样的。
回答
本杰明·皮尔斯(Benjamin C Pierce)编写的《类型和编程语言》,以深入了解编程语言的基础。
回答
FA Turbak的《编程语言中的设计概念》提供了许多编程概念的详细实现,对于理解引擎盖内部的情况非常有用。
回答
编程实践
和
如何用电脑解决
替代文字http://img.infibeam.com/img/7101e0ee/496b1/05/629/P-M-B-9788131705629.jpg?hei=200&wid=160&op_sharpen=1
回答
替代文字http://ecx.images-amazon.com/images/I/51fhwR6eb3L.BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01.jpg
替代文字http://ecx.images-amazon.com/images/I/51PDNR3C40L.SL500_AA300.jpg
回答
替代文字http://ecx.images-amazon.com/images/I/51E0Ojkz8iL.BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01.jpg
回答
餐巾纸的背面,作者丹·罗姆(Dan Roam)。
餐巾的背面http://www.coverbrowser.com/image/bestsellers-2008/302-7.jpg
一本关于视觉思维技巧的好书。现在还有一个扩展版。我不能说那个版本,因为我不拥有它。然而。
回答
精通:成功和长期实现的秘诀,乔治·伦纳德(George Leonard)
这是关于什么技能才能掌握任何技能需要掌握的心态,以及原因。太棒了,也很容易阅读。
回答
Python语言对我影响很大,我希望几年前能读过这些书。 Python语言的美观和简单性确实影响了我用其他语言编写代码的方式。
回答
企业模式和MDA:使用原型模式和UML构建更好的软件
对于那些希望利用ORM和UML的读者来说,这是一本优秀的读物。
回答
数据库系统概念是我们了解最佳数据库设计原理时可以阅读的最好的书之一。
回答
从头开始编程。它在互联网上免费。这本书教会了我AT&T协会。这很容易阅读。
回答
史蒂夫·麦克奎尔的《扎实的代码》