程序员进阶之路的10本必读书目

1.《程序员修炼之道》

原作名:《The Pragmatic Programmer: From Journeyman to Master》

作者:(美国)亨特(Andrew Hunt) (美国)托马斯(David Thomas)

一个好程序员需要最佳实践,并且需要有优秀的思想,遇到具体问题时能够用最佳方法去处理问题。

“好书应该由好程序员来读,如果你不是好程序员,或者不想成为一名好程序员,有趣的事情很多,就别在这儿浪费精力了。”

这是一本全球票选的程序员必读书籍,常读常新的不老神话,从开发到架构,注重实效永不过时。

技术总是在不断演化与变革的,但是这本书时刻能令人感受到震撼的智慧和力量。

内容简介:

《程序员修炼之道》由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的实践和重大陷阱。

2.《计算机程序的构造和解释(原书第2版)

原作名:《Structure and Interpretation of Computer Programs》

作者:(美国)Harold Abelson (美国)Gerald JaySussman Julie (美国)Sussman

这是一本能够燃起你强烈的学习欲望的编程书籍,一本让你感叹相见恨晚的书籍,适合所有希望深刻理解计算机科学的人们。

本书于1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。

世界各地已有100多所院校采用此书做教材,其中包括美国斯坦福大学、美国普林斯顿大学、英国牛津大学、日本东京大学等。

内容简介:

第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。

书中强调了几个新问题,其中重要的是有关的不同的途径中,计算模型里对于时间的处理所起的中心作用:带有状态的对象、并发程序设计、函数式程序设计、惰性求值和非确定性程序设计。这里为并发和非确定性新增加了几节,我们也设法将这一论题集成到整本书里,贯穿始终。

3.《人月神话》

原作名:《The Mythical Man-Month:Essays on Software Engineering Anniversary Edition》

作者:(美)Frederick P.Brooks (小弗雷德里克·布鲁克斯)

乍看书名,你大概以为这是诸如星月神话之类的神话小说。

然而,这是一本经久不衰的传奇经典,颠覆了软件项目管理领域!

无论你是软件开发、软件项目经理还是系统分析师,这都是你的必备圣经!

经典之所以成为经典,是因为让人任何时候读起来都会有不同的感受。

在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。

内容简介:

本书内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验,该项目堪称软件开发项目管理的典范。

在本书中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。

大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。本书探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。

该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册,确立了其在行业内的经典地位。

4.《人件》

原作名: People ware

作者: Tom DeMarco / Timothy Lister

软件管理领域少有与之媲美的著作,近30年全球畅销不衰。

与《人月神话》共同被誉为软件图书领域“两朵鲜艳的奇葩”。

《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”。

任何需要管理软件项目或软件组织的人员都能从书中寻找到有价值的建议。

内容简介:

本书专门讨论了软件开发和维护团队的管理问题,并向人们的传统认识提出了挑战。

深刻地洞察到软件开发的和维护问题不在于技术,而在于人。

作者在书中推崇人本管理思想,正确指出知识型企业的核心是人,而不是技术,呼吁给予软件工作者充分的自由和信任。任何需要管理软件项目或软件组织的人员都能从本书中寻找到有价值的建议。

全书从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度阐释了如何思考和管理软件开发的大问题——人(而不是技术),以得到高效的项目和团队。

5.《重构:改善既有代码的设计》

原作名:《Refactoring: Improving the Design of Existing Code》

作者:Martin Fowler

软件开发的不朽经典!

一个好的程序员要求能够主动自然地重构代码,需对本书中提到的70多个重构方法成竹在胸。

作者对代码的整理不像是一种技术,更像是一种艺术。

本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。

内容简介:

重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。

本书清晰揭示了重构的过程,解释了重构的原理和具体的实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。

书中每个重构都介绍了一种经过验证的代码变换手法的动机和技术。

本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

6.《黑客与画家》

原作名:《Hackers and Painters: Big Ideas from the Computer Age》

作者:Paul Graham

“此书将迫使你重新思考计算机编程的本质。”

这本书不仅仅适合程序员,一切对计算机行业感兴趣的读者。

为什么书呆子不受欢迎?他们的心思在别的地方。

黑客也是创造者,与画家、建筑师、作家一样。

内容简介:

本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。

书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。

“我们生活中的一切 ,都正在成为计算机 。所以 ,如果你想理解我们目前的世界以及它的未来动向 ,那么多了解一些黑客的想法会对你有帮助 。”

7.《编程珠玑》

原作名: 《Programming Pearls Second Edition》

作者:Jon Bentley

历史上伟大的计算机科学经典名著之一。

融深邃思想、实战技术与趣味轶事于一炉的奇书。

带你真正领略计算机科学之美。

内容简介:

本书内容围绕程序设计人员面对的一系列实际问题展开。

作者以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。

本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。

本书对各个层次的程序员都具有很高的阅读价值。

8.《代码大全(第2版)

原作名:Code Complete (Second Edition)

作者:Steve McConnell(史蒂夫·迈克康奈尔)

“这本书是讲述软件构建的权威指南,准备孤身前往荒岛的程序员只要带上这本书就足够了。”

这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。

这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。

内容简介:

第2版的《代码大全》是著名IT畅销书作者史蒂夫·迈克康奈尔11年前的经典著作的全新演绎。第2版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。

它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。

这本书中所论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。

9.《深入理解计算机系统(原书第三版)》

原作名:《Computer Systems:A Programmer's Perspective》

作者: (美)Randal E.Bryant,(美) David R.O'Hallaron

理解计算机系统首选书目。

计算机系统领域权威之作!

从程序员视角全面剖析的实现细节,使读者深刻理解程序的行为,将所有计算机系统的相关知识融会贯通。

内容简介:

主要介绍了计算机系统的基本概念,包括最底层的内存中的数据表示、流水线指令的构成、虚拟存储器、编译系统、动态加载库,以及用户应用等。

书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率。程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器、编译器、操作系统和网络环境,是这一领域的权威之作。

本版内容上最大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。

10.《算法导论》

原作名: 《Introduction to Algorithms, Third Edition》

作者:Thomas H. Cormen(托马斯•科尔曼)

计算机出现之前,就有了算法,算法是计算的核心。

本书将计算机复杂的算法,通俗易懂的讲清楚。

书中对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。

IT专业人员职业生涯中,一本案头必备的参考书或工程实践手册。

内容简介:

本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。

全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。

全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材。

(整理:罗霞)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容