计算机书籍
1.《代码大全》史蒂夫·迈克康奈尔
推荐数:1684
“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加上去,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。”——JoelSpolsky
对于菜鸟来说,这本书中的观念有点高阶了。到你打算阅读此书时,你应当早已晓得并实践过书中99%的观念。–esac
2.《程序员修练之道》
推荐数:1504
对于这些早已学习过编程机制的程序员来说,这是一本卓越的书。其实她们还是在校生,但对要自己做哪些,还觉得不是很安全。如同草图和构架之间的差异。其实你在中学课堂念书到的是作图,你也可以画的很漂亮,但假如你认为你不太晓得从哪里下手c程序设计语言电子版,假如某人要你只身画一个P2P的音乐交换网路图,那这本书就适宜你了。——Joel
3.《计算机程序的构造和解释》
推荐数:916
就个人而言,这本书目前为止对我影响醉死的一本编程书。
《代码大全》、《重构》和《设计模式》这些精典书会教给你高效的工作习惯和交易细节。其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。其他书籍则处理算法。那些书都有自己所属的位置。
但是《计算机程序的构造和解释》与那些不同。这是一本会启发你的书,它会点燃你编撰出众程序的热情;它还将教会你认识并欣赏美;它会让你有种崇敬,让你无法抑制地盼望学习更多的东西。其他书显然会让你成为一位更出众的程序员,但此书将一定会让你成为一名程序员。
同时,你将会学到其他东西,函数式编程(第三章)、惰性估算、元编程、虚拟机、解释器和编译器。
一些人觉得此书不适宜菜鸟。个人觉得,尽管我并不完全认同要有一些编程经验能够读此书,但我还是一定推荐给初学者。其实这本书是献给知名的6.001,是麻省理工大学的入门编程课程。此书也许须要多做努力(尤其你在做练习的时侯,你也应该这么),但这个价是对得起这本书的。
你还不确信么?那就读读第一版的序言或引言。网上有免费的电子版。-AnttiSykäri
4.《C程序设计语言》
推荐数:774
这本书简约易读,会教给你三件事:C编程语言;怎么像程序员一样思索;底层估算模型。(这对理解“底层”非常重要)——Nathan
5.《算法简史》
推荐数:671
《代码大全》教你怎样正确编程;《人月神话》教你怎样正确管理;《设计模式》教你怎样正确设计……
在我看来,代码只是一个工具,并非真谛。开发软件的主要部份是创建新算法或重新实现现有算法。其他部份则像重新组装乐高砖块或创建“管理”层。我仍然梦想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人……——RanBiron
6.《重构:改善既有代码的设计》
推荐数:617
我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻蛋都能写出计算机能理解的程序,而优秀的程序员却能写出他人能读得懂的程序。——MartinFowler
7.《设计模式》
推荐数:617
就我而言,我觉得走资派编绘的《设计模式》是一本极为有用的书。其实此书并不像其他建议一样有关“元”编程,但它指出封装例如模式一类的优秀编程技术,因此鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。——ChrisJester-Young
8.《人月神话》
推荐数:588
9.《计算机程序设计艺术》
推荐数:542
这是高德纳饱含心血写的一本书。——PeterCoulton
10.《编译原理》(龙书)
推荐数:462
我很奇怪,竟然没人提及龙书。(其实已有推荐,我没有看见)。我从没忘过此书的第一版封面。此书让我晓得了编译器是多么地神奇绝妙。-DB
11.《深入浅出设计模式》
推荐数:445
我晓得走资派的《设计模式》是一本标准书,但倒不如先瞧瞧这部大部头,此书更为简易。一旦你了解了解了基本原则,可以去看走资派的那本新约了。-Calanus
12.《哥德尔、艾舍尔、巴赫书:集异璧之大成》
推荐数:437
假如下昂真正深入阅读,我推荐道格拉斯·侯世达(DouglasHofstadter)的《哥德尔、艾舍尔、巴赫书》。他极为深入研究了程序员每日都要面对的问题:递归、验证、证明和布尔代数。这是一本很出众的读物,难度不大,时常有挑战,一旦你要奋战究竟,将是十分值得的。–Jonik
13.《代码整洁之道》
推荐数:329
尽管《代码整洁之道》和《代码大全》有好多共同之处,但它有更为简约更为实际的清晰事例。–CraigP.Motlin
14.《EffectiveC++》和《MoreEffectiveC++》
推荐数:297
在我职业生涯初期,ScottMeyer的《EffectiveC++》和后续的《MoreEffectiveC++》都对我的编程能力有着直接影响。正如当时的一位同学所说,这种书减短你培养编程技能的过程,而其他人可能要耗费数年。
今年对我影响最大的一本书是《大修道院与市集》,该书教会我很有关开源开发过程怎样运作,和怎样处理我代码中的Bug。–JohnChanning
15.《编程珠玑》
推荐数:282
虽然我不得不沮丧地承认,书中一半的东西我都没有理解,但我真的推荐《编程珠玑》,书中有些令人惊奇的东西。–MattWarren
16.《修改代码的艺术》byMichaelFeathers
我觉得没有任何一本书能向这本书一样影响了我的编程观点。它明晰地告诉你怎么处理其他人的代码,委婉地教会你防止什么(以及为何要防止)。-Wolfbyte
同意。好多开发人员讨论用干净的石板来编撰软件。但我想几乎所有开发人员的个别时侯是在吃其他开发人员的狗食。–BernardDy
17.《编码:隐匿在计算机软硬件背后的语言》
我推荐CharlesPetzold的《编码》。在这个饱含工具和IDE的年代,好多复杂度早已从程序员那“抽取”走了,这本书一本开眼之作。–hemil
18.《禅与摩托车修理艺术/ZenandtheArtofMotorcycleMaintenance》
对我影响最大的那本书是RobertPirsig的《禅与摩托车修理艺术》。不管你做哪些事,总是要力求完美,彻底了解你手中的工具和任务,更为重要的是,要有乐趣(由于假如你做事有乐趣,一切将自发引向更好的结果)。–akr
(编注:关于这本书,也可以瞧瞧阮一峰的观后感。)
19.《Peopleware/人件集:人性化的软件开发》
Demarco和Lister表明c程序设计语言电子版,软件开发中的首要问题是人,并非技术。她们的答案并不简单,只是令人无法置信的成功。第二版新降低了八章内容。–EduardoMolteni
20.《CodersatWork/编程人生》
一本特别有影响力的书,可以从小学到一些业界顶尖人士的经验,了解她们怎么思索并工作。–JahanzebFarooq
21.《SurelyYou’reJoking,Mr.Feynman!/别吵了,费曼先生!》
其实这本书可能有点离题,但不管你信不信,这本书曾在计算机科学专业课程的阅读列表之上。一个优秀的角色模型,一本有关好奇心的优秀书籍。–mike511
22.《EffectiveJava英文版》
此书第二版教你怎么编撰漂亮并高效的代码,尽管这是一本Java书,但其中有好多跨语言的理念。–MarcioAguiar
23.《PatternsofEnterpriseApplicationArchitecture/企业应用构架模式》
很奇怪,还没人推荐MartinFowler的《企业应用构架模式》-levirosol
24.《TheLittleSchemer》和《TheSeasonedSchemer》nmiranda
这两本是LISP的中文书,尚无英文版。印度西南学院网站上也有电子版。
25.《交互设计之路》英文名:《TheInmatesAreRunningTheAsylum:WhyHighTechProductsDriveUsCrazyandHowtoRestoretheSanity》该书作者:AlanCooper,人称VisualBasic之父,交互设计之父。
本书是基于诸多商务案例,述说怎样创建更好的、高顾客忠诚度的软件产品和基于软件的高科技产品的书。本书列出了好多真实可信的实际事例,说明目前在软件产品和基于软件的高科技产品中,普遍存在着“难用”的问题。作者觉得,“难用”问题是由这种产品中存在着的高度“认知摩擦”引起的,而形成这个问题的症结在于现在软件开发过程中缺乏了一个为用户利益着想的前期“交互设计”阶段。“难用”的产品除了损害了用户的利益,最终也将造成企业的失败。本书通过一些生动的实例,让人信服地述说了由作者提倡的“目标导向”交互设计方式在解决“难用”问题方面的有效性,否认了只有改变现有观念,能够有效地在开发过程中引入交互设计,将产品的设计引向成功。
本书其实是一本面向商务人员而编撰的书,但也适宜于所有参与软件产品和基于软件的高科技产品开发的专业人士,以及关心软件行业和高科技行业现况与发展的人士阅读。
他还有另一本英文版专著:《AboutFace3交互设计真谛》
26.《Why’s(Poignant)GuidetoRuby》
假如你不是程序员,阅读此书可能会很有趣,但假如你已然是个程序员,可能会有点厌烦。
27.《Unix编程艺术》
Itisusefulregardlessoperatingsystemyouuse.–J.F.Sebastian
不管你使用哪些操作系统,这本书都很有用。–J.F.Sebastian
28.《PracticesofanAgileDeveloper/高效程序员的45个习惯:敏捷开发修练之道》
45个习惯,分为7个方面:工作心态、学习、软件交付、反馈、编码、调试和协作。
每一个具体的习惯里,一开始提出一个谬误,之后展开剖析,然后有正队性地提出正确的做法,并设身处地地讲出了正确做法给你个人的“切身体会”,最后列举几条注意事项,帮助你修正自己的做法(“平衡的艺术”)。
29.《Test-DrivenDevelopmentbyExample./测试驱动开发》
后面早已提及的好多书都启发了我,并影响了我,但这本书每个程序员都应当读。它向我展示了单元测试和TDD的重要性,并让我很快上手。–Curro
我不关心你的代码有多好或甜美。假如你没有测试,你也许就好似没有编撰代码。这本书得到的推荐数应当更高些。人们讨论编撰用户喜欢的软件,或既设计出众并强健的高效代码,但假如你的软件有一堆bug,谈论这些东西毫无意义。–AdamGent
30.《Don’tMakeMeThink/点石成金:访卜居上的网页设计秘籍》
取决于你所追求的目标。我喜欢《代码大全》是因纯编程,《点石成金》是一本有关UI设计的卓越书籍。–JustinStandard