如果您的书架上只有一本与编程相关的书,那会是什么,为什么?[关闭]


Answers:


69

代码完成第二版。

史蒂夫·麦康奈尔(Steve McConnell)完成代码。我什至不认为它需要解释。这是有关软件构建的权威书籍。写得非常好,涵盖了创建软件的实践(编程)方面的所有方面。


+1也可以用来挑选第二版-与第一版相比有很多改进,因此它是另一本书。
Paddyslacker 2010年

+1-我有意大利语翻译。在那之后,我再也没有买过用我的语言翻译的编程或技术书籍,因为翻译太糟糕了。我必须购买英文版才能真正理解一些句子!
Wizard79 2010年

对于那些住在加拿大魁北克的人。BAnQ在以下位置在线提供了本书的完整版本:library.books24x7.com.res.banq.qc.ca/toc.asp ? bookid=10482 。
HolyVieR

4
我不同意 有趣的是,这本书中甚至没有不可变这个词。
乔纳斯(Jonas)2010年

2
尽管我保留了第一版的副本,但我认为我再也没有回来。原因可能是继续获得麦康奈尔所说的重要主题的书籍。
2011年

56

简单。

实用程序员


6
+1代表现实。这本书是相关的,易于阅读的,也许许多开发人员可以从实际阅读中受益。此列表中有太多其他对象很难理解,我怀疑已经读过了。
海绵

重复这个答案。
clrod

+1-我在《代码完成》之后最喜欢的第二本编程书(老实说,有时是第一本书)
艾伦(Alan

36

SICP的计算机程序的结构和解释

当我看到尚未列出SICP时,我痛苦地做个鬼脸。:)

原因:Novig称赞这本书是有史以来最伟大的计算机科学入门著作,无可多加。好吧,既然如此?要求:SICP以令人满意的深度方法涵盖软件基础,​​提出了许多关于计算本质的观点和问题-其中许多仍然是未解决的问题-同时使读者看到了超越表面的方面,告诉机器什么做,或如何做。

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

单击图像可在线获取免费文本。您还可以轻松找到作者的视频讲座,其中包括80年代风格的颜色和服装。


2
所有人都向SICP致敬。IMO,它应该是所有CS学校强制性入门编程课程的教科书。这肯定会淘汰那些无法真正在编程中削减技能的人(少得多的CS),同时向有潜力的人增强CS和编程技能。
luis.espinal 2010年

1
@ luis.espinal SICP对于入门编程似乎有些矫kill过正(除非我们正在谈论研究生院)。麻省理工学院(MIT)放弃了SICP课程作为入门课程是有原因的。...我仍然同意阅读本书(并进行练习...)很有价值,但即使在标准的大学学期中,这样做也很难。一个高于平均水平的学生。Java / Python / Ruby / C的介绍也与工作人员更相关,您越早习惯使用命令式语言,越好……SICP很棒,可以扩大您的视野。但是作为入门课程可能会令人气......
Cervo

1
@Cervo-这是一个令人担忧的问题,而且似乎有点过头了,但是(我承认这是完全主观的立场),我坚信,它提供了比其他主流方法通常更深的基础。既然麻省理工学院现在已经转向使用Python,那么陪审团仍然不在乎(部分原因是它还具有FP功能,并且它非常适合科学计算和机器人技术,而Scheme则没有。)Python没错(我实际上是喜欢这种语言),但直到Python风格的SICP版本问世之前,评审团还是会退出。
luis.espinal 2011年

2
@继续-也就是说,我建议SICP并不是因为Scheme,而是因为它的教学内容。我本来建议从组装开始(人们做得很成功),但是没有像SICP这样的组装书籍(也许永远不会有)。最接近的是Knuth的百科全书(这可能是一个过大的杀伤力。)至于java,我已经使用了12年了,我不建议将它用于教学。 PL。C,Python或Ruby是设计更好的语言。
luis.espinal 2011年

1
@也不要-同时,我警告不要将语言用作教学工具,因为它是主流。主流每2-3年更改一次,并且使用Java,语言很简单,但任务是学习JVM,库和体系结构。我说要在大学四年级学习Java和.NET企业开发。而且我相信(我知道,主观的)对于尽早提供严格的测试很重要。我们那里有太多的点对点单击的程序员,他们早期需要一些严格的条件。我已经赚了很多钱,清理他们留下的垃圾,但仍然;)
luis.espinal 2011年

32

值得一提:

神话人月

替代文字


1
如果我只能读一本关于编程的书,而在读完它之后,它就消失了,而我在余下的时间里再也看不到另一本书,那就是它。如果我要把这本书放在书架上以备以后查看...这可能是另一本参考性更高的书。还是+1!
SingleNegationElimination

我喜欢这本书,并一直阅读。但是,许多材料仅适用于具有成百上千个工作量的大型项目,就像操作系统一样。因为这就是他从中汲取的经验。我以为我可以每天使用和应用的知识方面,Code Complete更为有用。
Despertar


28

设计模式:可重用的面向对象软件的元素

这是本有关OOP设计和体系结构的书。正确使用这些模式是好的,但是我认为本书的真正价值在于它为您提供了一个在设计时可以使用的想法工具箱。

替代文字


OOP并不代表编程的局限性。
Inaimathi 2010年

由于模式目录非常丰富(这是本书),所以随着时间的推移,本书的价值已大大降低。
史蒂文·埃弗斯

1
是否有很多人读过这份从封面到封面?我发现它比书更像是参考。(以及您无法搜索的参考。)
idbrii 2011年




19

迈克尔·费瑟斯(Michael Feathers)的《遗留代码》有效合作

它包含许多有关如何测试和管理现有代码库的好技巧,直到我读完本书,我才知道很多。即使您正在使用的旧代码是您昨天编写的自己的代码,也必须阅读。

与旧版代码有效合作


真是个好封面。
流行

这是我目前的重点:将在“测试驱动”之前编写的代码转换为可测试状态。

+1很多次。这本书在更新旧代码方面给了我很大帮助。
格兰特·佩林

18

唐纳德·克努斯(Donald Knuth)的计算机编程艺术

替代文字


1
我不确定这是否符合“ 1本书”的标准(除非您真正的意思是“仅第1卷”)
Inaimathi 2010年

我有他的整个系列文章,但是我适合第1卷。(我的第一门计算机科学课是1967年从这堂课上讲的。这是无价的)。“了解您的数据结构”。
伊拉·巴克斯特

15

必备的Java书籍:

有效的Java作者Josh Bloch

替代文字

实践中的Java并发作者Brian Goetz等。等

替代文字

Java拼图作者Josh Bloch,Neal Gafter

替代文字


3
+1为有效Java。大大提高了我的Java技能。
瑞安·海斯

+1表示有效Java,-1表示忽略每个答案
Mark Booth,

您应该拥有的一套Java书籍
Crowie 2014年


9

哥德尔,埃舍尔,巴赫。

替代文字


1
哈!这是我在非编程相关书籍列表中的选择!我猜这使它无法分类?
Paddyslacker

我真的很喜欢这本书,这是我在威斯康星大学麦迪逊分校的计算理论教授的强烈推荐-在试图了解他所谈论的内容时非常有帮助。
彼得·特纳

@ Paddyslacker,GEB实际上花了很多时间谈论可计算性和各种计算机科学概念。

5

实用的程序员:从《旅人》到《大师》(安德鲁·亨特和大卫·托马斯)


4

做事情(David Allen)教您如何处理在作为软件开发人员的日常工作中需要完成的成千上万的小任务。尽管它不是专门针对开发人员的,但它绝对是无价的帮助,因为软件开发通常涉及大量的小任务,需要按优先顺序完成。例如:要实现哪些新功能,要修复哪些错误,要重构的代码部分,要休息或重新测试的代码部分等等。




2

迈克尔·阿布拉什(Michael Abrash)的代码优化之禅

代码优化之禅

实时程序员必读的内容-即使处理器特定的信息已过时,其思维方式也非常宝贵。


2

iPad算数吗?我想说,我在书架上排名第一的是Web浏览器和搜索功能。在线API和参考是最好的选择,这取决于我当前的项目集。


2
不,不是。请参阅上面有关Kindle的评论。也就是说,我仍然喜欢iPad。它可能是很有价值的资源,但仍然不是一本真正的书。+1,我很迷。:)
Moshe 2010年


2

布鲁斯·韦伯斯特(Bruce F. Webster)的“面向对象开发的陷阱”

我们有太多的“ OO”开发人员,他们仍然不知道对象或类是什么或目的是什么。不知道OO,过程式,模块化和结构化编程是什么样子;并且以某种方式设法将劣等的伪过程代码与类一起拼凑起来。

这本书(加上有关结构设计的70年代的老歌)将在帮助这些可怜的人最终了解良好的面向对象的外观方面大有帮助。


此外,如果我被迫只选一本书,而又只能选一本书,那我很可能不会选一本专门针对技术的书


1

替代文字

这是我刚开始编程时就一直保留的少数编程书籍之一。我曾经把这很多钱借给刚起步的人。现在,不是很多,因为C不再是很多人的第一门编程语言。它很好地描述了幕后发生的事情,它对指针的描述使真正的清晰度变得清晰起来,否则对于许多人来说这是一个非常令人困惑的话题。


1

乔恩·斯凯特(Jon skeet)的 “深度C#”

替代文字


1
我实际上不喜欢乔恩的书。信息很好,但是书中有太多“哦,这是从现在开始很重要的10章”,所以感觉布局很差。
史蒂文·埃弗斯

2
要知道有第二版,这是从第一的更新,也包括C#4
格兰特佩林

1

对象设计:角色,责任和协作

替代文字

到目前为止,这是我最喜欢的编程书(即使它不依赖于语言)。以我的拙见,这本书更好地介绍了如何设计与其表亲/兄弟/邻居有关的物品。任何认真的程序员书架上都必须有一个。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.