| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3753 人关注过本帖
标题:[转]Linux中国 - 12 本最具影响力的程序员书籍,请各位大神们评论一下这些书 ...
取消只看楼主 加入收藏
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:6 
[转]Linux中国 - 12 本最具影响力的程序员书籍,请各位大神们评论一下这些书吧
2016-1-3 10:56    评论: 4 收藏: 10 分享: 1   
来源:码农网   参考原文:http://作者: Jason Roell
编译文章:http://www. 译者: 小峰
文章地址:https://
很多人问我这个问题,尤其是那些刚开启软件工程生涯的同事和朋友。

要成为一个更好的开发人员,我应该读哪些书?我真的需要读书吗?

这是一个很值得探讨的问题,而且也是我在成为软件工程师之时问了很多导师的一个问题。但问题是,很多人推荐的是不同主题的不同书籍。他们推荐的书在他们看来是伟大的,但没有人能告诉我,要想成为一个伟大的工程师,我应该阅读什么,哪些是重要的、是必读的书籍。

我从我的导师那儿学到了很多东西,并意识到,我仍然有很多东西需要学习,还有许多不同的书需要阅读。我决定每个月读一本专业领域(软件工程)的书。随着时间的积累,我总结出了我认为想要成为一个顶级开发人员必须阅读的书单。

事先声明——只是阅读这些书不会让你成为一个伟大的开发者。你还需要积累多年的工作经验,并应用这些书中的原则到现实实践中,并在现实世界中发展你解决问题的能力。


programmer-read-book
阅读这些书可以帮助你避免一些常见的陷阱和错误,一些开发人员早期经历的陷阱和犯过的错误。我多么希望在我刚进入软件领域的时候,就有人向我推荐这些书啊,并且我现在依然很庆幸自己发现并反复阅读了这些书!也许你已经在大学读计算机科学或工程课程的时候读到过其中的一些书。也许在那个时候,你觉得它们并不重要,但是我可以用我亲身经历来说明我使用和应用了许多来自于这些书的原则。

我还要指出的是,此书单并不详尽。每年都会有许多伟大的著作问世。这些只是对我和我的职业生涯影响最大的书籍。此外,这些书和使用什么语言无关,可以应用于任何软件语言。

好了,让我们开始介绍这些书吧! (请鼓掌)

(这些都是必不可少的,我将根据它们对我的影响大小从后往前介绍。)

12.《修改代码的艺术Working Effectively with Legacy Code》

我之所以喜欢这本书,是因为几乎所有的软件开发人员,在其职业生涯的某个时刻,往往会不得不支持和工作于遗留系统。在这本书中,Michael Feathers提供了从开始到结束的策略,以便于更有效地工作于未经测试的遗留代码库。本书借鉴了Michael为其著名的Object Mentor专题研讨会创作的材料:Michael用于指导的技术,以帮助开发人员,技术管理人员和测试人员掌控遗留系统。


Working-Effectively
11.《人月神话The Mythical Man-Month》

本书是一本经典之作,但最近被修改和更正了。令人惊奇的是这本书仍然与软件产品开发密切相关。如果你从事软件的话,这本书是必读的。这本书最有价值的部分,我相信,是“计划抛弃plan to throw out”原型章节。尽管我们的目标通常是做一个更大,更好,更快,不管它是什么的东西,但是我们总会构建出一些不得不被废弃,需要重做的东西。这种情况我亲身经历过很多很多次。因此,关键是要计划抛弃plan to throw out,这样你才能适应接下来的情况。如果你梦想第一个产品就ok,那么你就会有抛弃它们的风险,因为产品的改进和发展是不可避免的。计划抛弃也有助于通过设置合理的里程碑来达到进度目标。


The-Mythical-Man-Month
10.《设计模式Design Patterns》

如果你打算成为一名架构师或系统的设计人员,那么你很有可能会被要求阅读这本书。这是一本被誉为有史以来最伟大的有关于软件开发的书,详细讲述了许多不同的设计模式,这么多年来一直在帮助软件工程师避免和处理行业面临的常见问题。遵照这本书的策略可以助你打造更高品质,灵活和可维护的软件。传说中的“四人帮”就是这本书,因为它是由四个著名的作者共同编写的。


Design Patterns
9.《编程珠玑(第二版)Programming Pearls (2nd Edition)》

这本书和这书单上的其他书籍略有不同。我想说这本书可以帮助一个人“像一个程序员一样思考” 《编程珠玑(第二版)Programming Pearls (2nd Edition)》是先前发表在“Communications of the ACM(美国计算机学会通讯)”的15篇专栏的一个纲要。这些专栏涵盖了广泛与编程相关的主题:从需求收集到性能优化。重点关注编码技术和算法。

每个专栏被组织为一个章节。章节通常以一个实际问题的情景呈现开头。然后,提出各种解决方案和相应的经验教训。写作风格清晰明快。

《编程珠玑(第二版)Programming Pearls (2nd Edition)》不是教授新编程概念的寻常书籍。虽然它包含了优秀,有时甚至是相当新奇的想法,但这本书的目的不是教你一些新的东西,而是帮助你成为一个更好的问题解决者。


Programming-Pearls
8.《编码:隐匿在计算机软硬件背后的语言CODE: The Hidden Language of Computer Hardware and Software》

这本书清理了创建和开发复杂系统的大量“魔法”。现在的抽象是如此之多,以致于一些低层次的细节反而不为开发人员所知。虽然你可能不会发现自己在实践中时刻使用着这本书——但我相信,知道自己正在构建什么以及整个编排的工作原理是什么,总归是一个好主意。当你需要打开“黑匣子”,深入软件或硬件来解决一个讨厌的bug的时候,它就能派上用场了。Charles Petzold写的《编码:隐匿在计算机软硬件背后的语言CODE: The Hidden Language of Computer Hardware and Software》梳理了许多编程概念——从数字系统的十进制,八进制,二进制到高级语言。这本书介绍了基于包的通信协议和TCP。许多章节讲解了有关硬件的概念,有五个章节涉及到了软件和教导操作系统,浮点运算和图形用户界面。


The-Hidden-Language
7.《计算机程序设计艺术The Art of Computer Programming》

这又是一部经典之作。由著名的计算机科学家教授Donald Knuth编著,并得到行业内众多顶尖程序员的一致好评。甚至连Bill Gates也对这本书赞誉有加:

“如果你认为你是一个真正优秀的程序员……那么就去读[Knuth的]《计算机程序设计艺术The Art of Computer Programming》吧……如果你能读懂整本书,那么请一定要给我发简历。”

这本书以基本的编程概念和技术开头,然后聚焦于更具体的信息结构——计算机内的信息表示,数据元素之间的结构关系,以及如何有效地处理这些问题。此外还提供了基本的应用程序给仿真模拟,数值方法,符号计算,软件和系统设计。


The-Art-Computer-Programming
6.《重构Refactoring》

Martin Fowler写的《重构Refactoring》主要关于改进现有代码的设计。这是一个改变软件系统而不改变代码的外部行为,却能提高它内部结构的过程。通过重构,你甚至可以将一个糟糕的设计重新制作为一个很好的设计。这本书对重构原则进行了深入探讨,包括在哪里发现重构的机会,以及如何建立所需的测试。另外还有一个目录有40多个已经用细节证明的重构,这些细节包括何时以及为什么要使用重构,逐步说明如何实现重构,并举例说明重构是如何工作的。这本书用Java作为其主要语言而写,但其中的思路适用于任何OO语言。


Refactoring
5.《代码整洁之道Clean Code》

《代码整洁之道Clean Code》,作者Robert C. Martin,分为三个部分。第一部分介绍原则、模式和编写干净代码的实践方法。第二部分包括若干个复杂度渐进的研究案例。每个案例研究就是一个清洁代码的练习,也是通过解决代码库中的一些问题让代码变得健全、高效的练习。第三部分是决定性的一个部分:每个单独的章节在创建案例研究的时候包含了一系列启发式的教学法。最后得到了描述我们在编写、阅读和清理代码时的思考方式的知识库。


Clean-Code
4.《算法导论Introduction to Algorithms》

这必须是理解和使用算法(将在软件开发中涉及很多)的最佳书籍。有些关于算法的书虽然严谨,但不全面——还有一些虽然涉及面广,但却缺乏严谨性。《算法导论Introduction to Algorithms》独特地结合了严谨性和全面性。这本书涵盖了广泛又深入的算法,使得书中的设计和分析能够面向所有层次的阅读人员。每个章节相对独立,可看作是一个学习单元。算法用英语和可读的伪代码描述。它使用初级基本的解释,并不牺牲覆盖的深度和材料的严谨性。第一版不仅广泛成为了世界各地高校的教材,还成为了专业人士的标准参考书。第二版新增了算法,概率分析,随机算法,线性规划的章节。


Introduction-to-Algorithms
3.《计算机程序的构造和解释Structure and Interpretation of Computer Programs》

以一种对解决问题和编程技术分析和严谨的态度,这本书面向于工程。《计算机程序的构造和解释Structure and Interpretation of Computer Programs》强调通过不同方式来发挥核心作用,以处理计算模型中的时间。其独特的方式使得它非常适合于计算机科学课程,以及编程语言和程序设计的入门。这本书进一步解释了4个最著名的编程语言范式——命令式编程,面向对象编程,基于逻辑编程和应用性编程。


Interpretation-of-Computer-Programs
2.《程序员修炼之道Pragmatic Programmer》

这是我最先阅读的编程书籍之一。是我的一个朋友在我就职第一份专业工作的时候推荐给我的。我很庆幸他这么做了。尽管这本书写于1999年,但是它的概念是我们以一种务实的态度去开发复杂系统的基础。程序员也是工匠,他们被训练使用一组特定的工具(编辑器,对象管理,版本跟踪器)生成某种可在一定环境中(硬件组件上的操作系统)工作的产品(程序)。和任何其他工艺一样,计算机编程也孕育出了智慧,但其中的大多数智慧是不能从大学或认证课程中学到的。大多数程序员只能通过独立的试验,时间一点点的积累,才能掌握这些所谓的技巧。在《程序员修炼之道Pragmatic Programmer》一书中,Andrew Hunt和David Thomas编纂了很多他们在分别作为软件设计者和代码编写者的职业生涯中发现的真理。

作者的一些实用性建议非常具体,而且显然很易于实施。他们建议读者去学习,例如一个文本编辑器,然后在各种情况下使用它。他们还建议使用版本跟踪软件——即使是对最小型的项目,学习正则表达式语法和文本操作语言。书中还有其他许多也非常有价值的建议。在调试部分,作者指出:“如果你看到蹄印的话,应该考虑马这个范围,而不是斑马。”也就是说,要怀疑一切,然后从最显眼的地方寻找问题。还有关于预估时间和费用,以及将集成测试纳入到开发进程的建议。《程序员修炼之道Pragmatic Programmer》让人爱不释手的还有两个原因:它会更清晰地梳理你自己积累的智慧,它还会给你介绍你还没考虑到的工作方法。


Pragmatic-Programmer
1.《代码大全 2Code Complete 2》

就是它了!这就是我认为首屈一指值得阅读的书(请恕我妄言),如果你要成为一个优秀的软件工程师的话。它被广泛认为是最好的实用性编程指南之一,Steve McConnell最初的《代码大全 2Code Complete 2》在过去的10多年时间里,一直在帮助开发人员编写更好的软件。现在,这部经典书籍已全面更新,修改成了前沿的实践方法——以及数以百计的新的代码示例——修订了软件结构的艺术和科学。从研究、学术界和日常商业实践中捕获知识体系,McConnell将最有效的技术和必须知道的原则总结成清晰又务实的指导。无论你的经验水平,开发环境,还有项目规模如何,这本书都可以启迪和激发你的思考,帮助你打造最优质的代码。
搜索更多相关主题的帖子: 软件工程 程序员 影响力 Linux 中国 
2016-01-05 10:58
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 7楼 TonyDeng
T版推荐的,我会记住,等我学完手头上的两本,就开始《代码大全》
2016-01-06 10:00
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 9楼 TonyDeng
一本是算法导论,另一本嘛,是C++ Primer Plus....
2016-01-07 00:36
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 14楼 TonyDeng
哎,T版,您读过
2016-01-07 00:37
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 10楼 深秋2015
话说,这两本书好像不能买到吧
2016-01-07 00:38
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 19楼 eFun
转:资讯 > 社会 > 纵深报道 > 正文
黄色手抄本:70年代性启蒙(图)
2008年09月07日 13:40南方网【大 中 小】 【打印】
图片附件: 游客没有浏览图片的权限,请 登录注册


文化小事纪之二

因在街头接吻,被抓进牢里去的事,现在应该没有多少人相信了,不过,这却是真实地发生在三十年前。在70年代,爱情是严重的“违禁品”,“性”则尤甚。就是在这样的时代,却有一本名叫《少女之心》的“黄色”手抄本在民间广泛流传,它是很多人能够找到的、流传很广的性启蒙读物。

为了读到它,青年们会背负道德重负,甚至牢狱之灾,尽管三十年后的今天,有着赤裸床戏的《色,戒》已能在电影院上映,隆胸广告中的女郎也能够在任何一个时段向电视观众搔首弄姿。这早已不是一个谈性色变的时代,《少女之心》的黄色神秘感已经逐渐消退,人们发现,《少女之心》的描写,其实并未超出《赤脚医生手册》中有关生理卫生知识的介绍。

1

抄《少女之心》抄肿了手

《少女之心》,又名《曼娜回忆录》,讲述的是主人公曼娜和表哥少华、同学林涛之间的三角恋情,曼娜有着遏制不住的两性冲动,在性和心灵方面对男性有深刻的渴望。《少女之心》自70年代起开始在民间传播。

上海学者朱大可读过十几个版本的《少女之心》,他最早接触是在1974年。“当时我还在念中学,已经不大记得是谁传给我的,拿到书后,我立即套上毛选的书皮,这样会安全些。”

“当时我们读书非常快,通常是晚上八点左右,书被一个人送达,第二天早晨八点,书就会被另一个人取走。我往往只有十二小时的阅读时间,在15瓦的灯泡光亮下,我总是能够在下半夜之前先把全书浏览一遍,再用剩下的时间细读一些重要的章节。天亮的时刻,当我交出上百万字的大书,就像交出一个被榨空的钱袋。筋疲力尽,但心情很愉快。”朱大可读到的《少女之心》,篇幅不长,不到一万字,平时练就的速度,让他没花多长时间就读完了全书。

“我当时并没有想过去把《少女之心》抄下来,有些同学秘密地传抄,甚至为此手都抄肿了。不过,抄《少女之心》的人并不太多,大家也都是看过就算了,很大一部分是抄《唐诗三百首》和王力的《诗词格律》,即使是这些书,也都是违禁品,属于‘封资修’”。

在当时的手抄本中,《少女之心》是唯一直接描写性行为和性器官的,甚至被称之为“文革第一淫书”,这让朱大可有偷食禁果的感觉。“在那个年代,马路上一对情侣谈恋爱,都会被抓起来,接吻、拥抱的亲密动作,在公共场合都是流氓行为,严重违法。读《少女之心》,更是冒险行为,若被抓住,要受严重处分,尽管如此,大家还是都敢冒这个险,青春期的那种渴望,是怎么也禁锢不了”。

在朱大可所在的中学,他认为大多数人应该都看过《少女之心》,流传非常广,因为说起曼娜,大家都是心领神会。不过,《少女之心》并没有普及到人人皆知的程度。张宝瑞是“文革”手抄本《梅花鞋》、《一只绣花鞋》的作者,他当时正在北京铁合金厂当炉前工,没有读过《少女之心》。不过,他讲了一个细节:“在工厂值夜班时,我发现总有一些人喜欢在休息室的隐蔽处神侃,后来打听才知道,他们说的是《少女之心》,我当时比较传统,作为生产班长,还出面阻止了他们”。

这些阻止行为并没有阻止手抄本的笔笔相传,被抄送到了更大的范围。“手抄本通过各种路径,被在内蒙古插队的哥哥带去了大草原,被在大西北当兵的表哥带到了新疆,又到东北军垦,被在山西、陕西插队的同学带去了黄土高原……”《少女之心》在当时甚至引起了轰动,到了1975年年初,姚文元还因为《少女之心》这一“淫秽”手抄本的广泛流行,特地颁布了“围剿‘文革’手抄本”的命令。

2

跟着曼娜普及性知识

不过,围剿并没有让《少女之心》的流传受阻,甚至让更多的人知道了这本书,其实,也有很多人急切地想读到它,需要它。

“没有任何一个时代像我们所处的时代那样,在书和生命之间也能建立了最深切的联系。”朱大可在中学时期的几次聚众打架,不为了别的,就为了一个人不还另一个人书,他们甚至为此还成立了帮会。最激烈的一次,动了刀子,结果对方落荒而逃,第二天,书被中间人送了回来。

“当时是一个书荒的时代,书店也都开门,但是卖的都是毛选,公开出版的是《艳阳天》、《金光大道》,《西沙之战》,鲁迅的小说如《孔已己》、《阿Q正传》,还有八个样板戏”,张宝瑞认为,当时大家无书可读,应是手抄本流行的原因之一。

不过,《少女之心》对作家摩罗而言,更多的是知识普及所带来的欣喜。摩罗的高中两年(当时高中为两年制)是在一个闭塞的小镇度过的,在小镇上,他很难获得外界的讯息,能读到的书更是有限,接触到的手抄本只有两种,一种是《陈毅诗选》,另一种就是《少女之心》。摩罗至今都认为《少女之心》能够传到小镇,是一件奇怪的事情。

摩罗读到的版本很短,大概不到五千字,“有人把那些枝枝蔓蔓的内容都删掉了,只抄最直接的性描写,接触到这些内容的时候,心里有点不放心,特别小心,尽量不要让老师知道。当时是1978年,已经没有了什么恐惧感。”《少女之心》是摩罗接触到的第一份关于性的知识介绍读物。“当时因为太禁锢了,性方面的知识不能正常地传播,所以,那个作品等于承担了一个介绍性知识的东西。我当时读的版本是抄在一个学生的作业本,读完,也没有想过抄下来,我还是觉得文学性太差。”

《少女之心》是作为黄色小说传播的,不过,摩罗认为,《少女之心》谈不上是什么黄色小说,在《少女之心》里面,还写了那种青年人由于对性知识的不了解,造成的那种不必要的恐慌,而当时的现实就是如此。

《少女之心》中,少华跟曼娜一起拥抱后,他们双方都觉得这下子完了,曼娜要怀孕了。摩罗在一次讲座中,就曾向在座者讲起他所读到的《少女之心》的片段:“他们穿着衣服拥抱过一次,就以为要怀孕了,很恐惧。后来又仔细地想,少华说我们穿着衣服大概不会怀孕,如果不穿衣服两个人这样抱着、贴着通气那可能要怀孕。所谓的通气,他理解为肚脐眼、双方肚脐眼会通气,后来每一次约会,曼娜就找两张伤湿止痛膏,自己先贴好一张,到了那个约会的地点,给少华贴好一张,然后他们就拥抱在一起,享受这种亲密的愉快。后来他们就有了性生活,可能他们认为现在把肚脐眼封死了,已经没有这个眼来通气,不会怀孕,不会有承受不了的后果发生。”
2016-01-07 09:27
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
我之前还不知道少女之心是什么东西,就搜了下.......
2016-01-07 09:27
快速回复:[转]Linux中国 - 12 本最具影响力的程序员书籍,请各位大神们评论一下 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024217 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved