关注 异步图书,置顶公众号
每天与你分享 IT好书 技术干货 职场知识
参与文末话题讨论,每日赠送异步图书。
——异步小编
经典作品是一些产生某种特殊影响的书,它们要么自己以遗忘的方式给我们的想像力打下印记,要么乔装成个人或集体的无意识隐藏在深层记忆中。 ——伊塔洛·卡尔维诺 《为什么读经典》
今天的推荐书单,整理了一批经典的计算机类图书著作。如果你已经读过,没关系,经典之所以经典,是因为它让你每次重读,都能领会到新的层次和含义。即使多年后它已经被你遗忘,即使你已经想不起在哪里见过,它也已潜移默化成为你性格和价值观的一部分,这就是经典的魅力。
很少有软件开发人员会主动管理自己的职业生涯。可是,成功的软件开发人员之所以能成功都不是偶然的。他们目标明确,为了达成目标,他们制订了坚实可靠而又深思熟虑的计划。如果你真的想在软件开发这个充满竞争的世界里脱颖而出,那么你要做的远远不止一份光鲜靓丽的简历,以及任何碰巧获得的工作。你需要通盘考虑之后再决定——要做什么,什么时候做,以及如何义无反顾。希望这些经典书单对你的职业发展有所帮助。
编程经典
语言篇
《C Primer Plus(第6版)中文版》
【美】Stephen Prata(史蒂芬 普拉达)著
经久不衰的C语言畅销经典教程;针对C11标准进行全面更新 ,与以前的版本一样,作者的目标仍旧是为读者提供一本入门型、条理清晰、见解深刻的C语言教程。作者把基础的编程概念与C语言的细节很好地融合在一起,并通过大量短小精悍的示例同时演示一两个概念,通过学以致用的方式鼓励读者掌握新的主题。
每章末尾的复习题和编程练习题进一步强化了重要的信息,有助于读者理解和消化那些难以理解的概念。本书采用了友好、易于使用的编排方式,不仅适合打算认真学习C语言编程的学生阅读,也适合那些精通其他编程语言,但希望更好地掌握C语言这门核心语言的开发人员阅读。
《C++ Primer Plus(第6版)中文版》
【美】Stephen Prata 著
- 一本经久不衰的C++畅销经典教程;
- 首本支持C++11新标准的程序设计图书。
- 它被誉为“开发人员学习C++的必备教程,没有之一”!
《C++ Primer Plus(第6版)中文版》可以说是一本面向从未学习过C语言甚至是从未学习过编程的人的入门书籍,它的首章从基础内容讲起,先介绍了传统编程的规则,后面才着重讲解有关面向对象——C++的精髓之一——的有关内容。整个书的结构安排较为合理,难度爬升较慢。如果你是一个从未学过C语言(或者压根没学会C)的读者,那么,我相信这本书更适合你。
《C和指针 》
[美] Kenneth A.Reek 著
本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
本书适合C语言初学者和初级C程序员阅读,也可作为计算机专业学生学习C语言的参考。
《C# 6.0本质论》
[美] 马克·米凯利斯(Mark Michaelis) 埃里克·利珀特(Eric Lippert) 著
点击封面购买纸书
C#入门及进阶的首选之作; 内容全面翔实,讲解精彩权威;全新升级版,涵盖C# 6.0,这是C#领域中一部广受好评的名作,作者用一种易于理解的方式详细介绍了C#语言的各个方面。
本书是一本编程语言参考书,遵循核心C# 6.0语言规范,适合对C#感兴趣的各个层次的读者。无论对初学者还是具有一定编程经验的开发者,本书都是一本很有价值的参考书。
《C专家编程》
【美】Perter Van Der Linde 著
专家级的C编程指南展示优秀C程序员的编程技巧;聆听大师教诲 掌握编程精髓
它使你对C的使用有更深入了解,最后还介绍了一些C ,如果你以前没太多接触过C ,只知道C,通过这本书打开通往C 之门也不错。书中还提到了一些当年那些传说中Hacker的的故事,挺风趣的。但是看这本书还是要有些背景的。
你要学过编译原理,虽然不需要学的太深太好,但至少对里面的一些概念要有所了解,否则对里面内存分配的部分(事实上很多是针对编译器的),你会感到吃力。还有,你要有些Unix/Linux的文化背景,比如Unix的C编程风格,还有Unix里的一些命令,工具。但是,对于你,这些并不是什么问题,对吗?强烈推荐!
《Python核心编程(第3版)》
【美】Wesley Chun(卫斯理 春)著
畅销经典的Python书,兼顾Python2和Python3,Python开发人员的案头常备
Python是一种灵活、可靠且具有表现力的编程语言,它将编译语言的强大与脚本语言的简洁性、快速开发特性整合起来。在本书中,Python开发人员兼企业培训师Wesley Chun会帮助您将Python技能提升到更高的水平。
本书涵盖了成为一名技术全面的Python开发人员所需的一切内容。本书讲解了应用开发相关的多个领域,而且书中的内容可以立即应用到项目开发中。此外,本书还包含了一些使用Python 2和Python 3编写的代码案例,以及一些代码移植技巧。有些代码片段甚至无须修改就可以运行在Python 2.x或Python 3.x上。
《数据结构 Python语言描述》
【美】Kenneth A. Lambert(兰伯特) 著
在计算机科学中,数据结构是一门进阶性课程,概念抽象,难度较大。Python语言的语法简单,交互性强。用Python来讲解数据结构等主题,比C语言等实现起来更为容易,更为清晰。
《Python程序设计(第3版)》
【美】John Zelle(策勒)著
Python之父作序推荐 ,Python 3 编程入门经典。本书以Python语言为工具教授计算机程序设计。本书强调解决问题、设计和编程是计算机科学的核心技能。本书特色鲜明、示例生动有趣、内容易读易学,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。
《JavaScript忍者秘籍 第2版》
[美] John,Resig(莱西格),Bear,Bibeault(贝比奥特),Josip ... 著
JavaScript语言非常重要,相关的技术图书也很多,但至今市面没有一本对JavaScript语言的重要部分(函数、闭包和原型)进行深入、全面介绍的图书,也没有一本讲述跨浏览器代码编写的图书。而本书弥补了这一空缺,是由jQuery库创始人编写的一本深入剖析JavaScript语言的书。
《JavaScript 忍者秘籍(第2版)》使用实际的案例清晰地诠释每一个核心概念和技术。本书向读者介绍了如何掌握 JavaScript 核心的概念,诸如函数、闭包、对象、原型和 promise,同时还介绍了 JavaScript API, 包括 DOM、事件和计时器。你将学会测试、跨浏览器开发,所有这些都是高级JavaScript开发者应该掌握的技能。
编程经典
人工智能篇
《深度学习》
【加】Aaron Courville(亚伦·库维尔), 【加】Yoshua Bengio(约书亚·本吉奥), 【美】Ian Goodfellow(伊恩·古德费洛)著
AI圣经!深度学习领域奠基性的经典畅销书!长期位居美亚AI和机器学习类图书榜首!所有数据科学家和机器学习从业者的必读图书!特斯拉CEO埃隆·马斯克等国内外众多专家推荐!
深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。因为计算机能够从经验中获取知识,所以不需要人类来形式化地定义计算机需要的所有知识。层次概念允许计算机通过构造简单的概念来学习复杂的概念,而这些分层的图结构将具有很深的层次。本书会介绍深度学习领域的许多主题。
《Python神经网络编程》
[英]塔里克·拉希德(Tariq Rashid) 著
当前,深度学习和人工智能的发展和应用给人们留下了深刻的印象。神经网络是深度学习和人工智能的关键元素,然而,真正了解神经网络工作机制的人少之又少。本书用轻松的笔触,一步一步揭示了神经网络的数学思想,并介绍如何使用Python 3.5编程语言开发神经网络。
本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。
《计算机科学概论(第12版)》
[美] J.格伦·布鲁克希尔(J.Glenn Brookshear)丹尼斯·布里 著
计算机科学的全景式展现 经典的导论性教材的全新版本 全面把握全新的技术发展趋势 《计算机科学概论》多年来一直深受世界各国高校师生的欢迎,是美国哈佛大学、麻省理工学院、普林斯顿大学、加州大学伯克利分校等知名大学的课程教材,对我国的高校教学也产生了广泛影响。
本书以历史的眼光,从发展的角度、当前的水平以及现阶段的研究方向等几个方面,全景式描述了计算机科学各个子学科的主要领域。在内容编排上,很好地兼顾了学科广度和主题深度,把握了全新的技术发展趋势,用算法、数据抽象等核心思想贯穿各个主题,并且充分体现了各个主题的历史背景、发展历程和新的技术趋势,培养读者的大局观,为今后深入学习其他计算机专业课程打下坚实的基础。
《人工智能(第2版)》
Stephen Lucci , Danny Kopec 著
(2018年5月出版)
人工智能在21世纪最新进展的百科全书!人工智能在21世纪最新进展的百科全书!以全面、丰富多彩的形式,和易于理解的方法,介绍人工智能最新的研究和进展。包含了机器人和机器学习的新章节,涵盖了神经网络、遗传算法、自然语言处理、规划和复杂的棋盘博弈。
本书总共分为6章,讲述了如何多样化探索人工智能领域,原书在亚马逊上收到众多高校老师和学生的好评。书中不仅介绍了人工智能的基础理论,还介绍了机器学习、神经网络、自然语言处理等热门话题,帮助读者全方位了解人工智能领域的方方面面。本书既适合作为教材,也适合作为个人阅读的参考指南。
编程经典
职业生涯规划篇
《软技能 代码之外的生存指南》
约翰 Z.森梅兹 著
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
对大多数软件开发人员而言,编码才是有趣的,而如何与客户、同事以及经理们打交道,如何保证工作效率,如何保障财务安全,如何保持自己的体形,如何找到真爱……这些则统统被视为畏途。本书恰恰可以在这些方面帮到你!
《代码整洁之道》
马丁 著
细节之中自有天地,整洁成就卓越代码。尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。然而这种情况并非无法避免。
这本书是软件工程大师马丁经典力作,由互联网产品与运营专家韩磊献译,本书荣获第13届Jolt大奖。
从《代码整洁之道》中可以学到:好代码和糟糕的代码之间的区别:如何编写好代码,如何将糟糕的代码转化为好代码:如何创建好名称、好函数、好对象和好类;如何格式化代码以实现其可读性的优化:如何在不妨碍代码逻辑的前提下充分实现错误处理;如何进行单元测试和测试驱动开发。
《代码整洁之道 程序员的职业素养》
罗伯特·C.马丁 著
成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。
软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。
《编程珠玑(第2版 修订版)》
乔恩·本特利(Jon Bentley) 著
本书作者Jon Bentley,世界计算机科学家,被誉为影响算法发展的十位大师之一。
多年以来,当程序员们推选出心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师JonBentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上受欢迎的专栏,结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为首卷,主要讨论计算机科学中本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。
《编程珠玑(续 修订版)》
乔恩·本特利 著
本书是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。延续了《编程珠玑》的特色,通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行透彻而睿智的描述,为复杂的编程问题提供清晰而完备的解决思路。涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容结合成一个有机的整体,如一串串珠玑展示给程序员。(Jon Bentley)
《重构 改善既有代码的设计》
马丁·福勒(Martin Fowler) 著
软件开发的不朽经典,生动阐述重构原理和具体做法,普通程序员进阶到编程高手必须修炼的秘笈。
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。
编程经典
操作系统&数据库篇
《UNIX网络编程 卷1:套接字联网API(第3版)》
【美】W. Richard Stevens, Bill Fenner, Andrew M. Rudoff 著
这是一部传世之作!顶级网络编程专家Bill Fenner和Andrew M. Rudoff应邀执笔,对W. Richard Stevens的经典作品进行修订。书中吸纳了近几年网络技术的发展,增添了IPv6、SCTP协议和密钥管理套接字等内容,深入讨论了最新的关键标准、实现和技术。
书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从本书网站下载这些示例的源代码。
《UNIX网络编程 卷2:进程间通信(第2版)》
【美】W. Richard Stevensns 著
两卷本的《UNIX网络编程》是已故著名技术作家W. Richard Stevens的传世之作。卷2着重讨论如何让应用程序与在其他机器上的应用程序进行对话。
良好的进程间通信(IPC)机制是提高UNIX程序性能的关键。本书全面深入地讲解了各种进程间通信形式,包括消息传递、同步、共享内存及远程过程调用(RPC)。书中包含了大量经过优化的源代码,帮助读者加深理解。这些源代码可以从本书网站下载。 本书是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益。
书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从本书网站下载这些示例的源代码。
《UNIX环境高级编程(第3版)》
W.Richard Stevens 著
20多年来,严谨的C程序员都是依靠一本书来深入了解驱动UNIX和Linux内核的编程接口的实用知识的,这本书就是W.RichardStevens所著的《UNIX高级环境编程》。
现在,Stevens的同事SteveRago彻底更新了这本经典著作。Rago保留了使本书前版成为经典之作的精髓和方法。他在Stevens原著的基础上,从基础的文件、目录和进程讲起,并给诸如信号处理和终端I/O之类的先进技术保留较大的篇幅。他还深入讨论了线程和多线程编程、使用套接字接口驱动进程间通信(IPC)等方面的内容。
本书是被誉为UNIX编程“圣经”的AdvancedProgrammingintheUNIXEnvironment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。
《MySQL技术内幕(第5版)》
【美】Paul DuBois 著
本书是MySQL方面名副其实的经典著作,全面介绍MySQL的基础知识以及MySQL有别于其他数据库系统的独特功能,书中特别关注如何高效地使用和管理MySQL。
在本书中,作者提供了关于如何高效使用和管理MySQL的全面指南。全书的内容包括信息入库和查询组织等基础操作、将MySQL和PHP(或Perl)结合在一起生成动态网页、自己编写用于访问MySQL数据库的程序,以及管理MySQL服务器。
书中还包括一节综合参考,其中提供了与MySQL的结构、语言、语法和各种API有关的详细信息。 这一版经过了精心修订和大量更新,完全覆盖MySQL 5.5的最新特性和功能,而且对MySQL 5.6新引入的各种特性也进行了介绍。
《Oracle PL/SQL程序设计(第6版)(上下册)》
【美】Steven Feuerstein(史蒂芬 弗伊尔斯坦), Bill Pribyl(比尔 普里比尔) 著
本书在Oracle社区中被公认为是最好的Oracle PL/SQL程序设计权威指南。针对Oracle Database 12C全新升级,全面涵盖PL/SQL开发中遇到的各种问题与解决方案。如果想要充分利用PL/SQL,本书无疑是绝佳的资源。
本书第6版全面讲解了PL/SQL的特性和功能,涵盖了直到Oracle数据库12c R1版本发生的新变化。 在过去20多年,成千上万的PL/SQL程序开发人员从本书中受益,这次的新版延续了之前的风格,提供了丰富的代码示例,穿插了程序开发人员才能看懂的小幽默。本书介绍了PL/SQL语言的基础知识、高级编码技巧,并提供了最佳实践来帮助大家解决真实世界中的问题。
编程经典
其他篇
《Spring实战(第4版)》
[美] Craig Walls 沃尔斯 著
本书是经典的、畅销的Spring学习和实践指南。 第4版针对Spring 4进行了全面更新。全书分为四部分。第1部分介绍Spring框架的核心知识。第二部分在此基础上介绍了如何使用Spring构建Web应用程序。第三部分告别前端,介绍了如何在应用程序的后端使用Spring。第四部分描述了如何使用Spring与其他的应用和服务进行集成。
本书适用于已具有一定Java 编程基础的读者,以及在Java 平台下进行各类软件开发的开发人员、测试人员,尤其适用于企业级Java 开发人员。本书既可以被刚开始学习Spring 的读者当作学习指南,也可以被那些想深入了解Spring 某方面功能的专业用户作为参考用书。
《游戏编程模式》
[美] Robert Nystrom 尼斯卓姆
游戏发一直是热门的领域,掌握良好的游戏编程模式是发人员的应备技能。本书细致地讲解了游戏发需要用到的各种编程模式,并提供了丰富的示例。
本书细致地讲解了游戏发需要用到的各种编程模式,并提供了丰富的示例。 全书共分20章,通过三大部分内容全面介绍了与游戏编程模式相关的各类知识。首部分介绍了基础知识和框架;第二部分深探索设计模式,并介绍了模式与游戏发之间的关联;第三部分介绍了13种有效的游戏设计模式。 本书提供了丰富的代码示例,通过理论和代码示例相结合的方式帮助读者更好地学习。无论是游戏领域的设计人员、发人员,还是想要游戏发领域的学生和普通程序员,都可以阅读本书。
《领域驱动设计 软件核心复杂性应对之道 修订版》
[美] 埃里克 埃文斯(Eric Evans) 著
“领域驱动设计之父”经典著作;众多声名显赫软件大师鼎力推荐;凝聚领域建模专家数十年的实战经验,深度剖析构建高质量复杂系统的核心技术领域模型使开发人员可以表达丰富的软件功能需求,由此实现的软件可以满足用户真正的需要,因此被公认为是软件设计的关键所在,其重要性显而易见。但讲述如何将领域模型用于软件开发过程的杰出的实用资料却不多见。
本书正是这一领域声名显赫的作品,受到众多业界大师的赞美和推介,广受读者好评。要通过创建领域模型来加速复杂的软件开发,就需要利用大量实践和标准模式在开发团队中形成统一的交流语言;不但要重构代码,而且要重构代码底层的模型;同时采取反复迭代的敏捷开发方法,深入理解领域特点,促进领域专家与程序员的良好沟通。针对这些内容,本书结合真实项目,系统地介绍了领域驱动开发的目标、意义和方法,充分讨论了复杂系统的建模与设计问题。
《Google软件测试之道》
【美】James Whittaker, Jason Arbon, Jeff Carollo 著
测试领域的传奇巨匠James与两位Google顶级专家一起披露了Google如何做测试的精髓所在,并提供了一套崭新的最佳测试工程实践方案。即使你的产品并非如Google般的规模,相信你仍然可以从中受益匪浅。
本书揭示了大量的奇巧妙计,绝对100%实用且扩展性超强,涉及到风险分析、测试计划……像真实用户一样思考……探索性实践、黑盒、白盒、验收测试……获取有用反馈……记录问题……选择和创建工具…… 测试“文档和模拟对象”的接口、类、模块、库、二进制文件、服务和基础设施……代码审核、重构……使用测试钩子、代码提交脚本、代码提交队列、持续集成等方面。使用这些技术,你可以把测试工作由瓶颈变成一个加速器,使得整个测试团队都更加富有效率。
《逆向工程权威指南》
[乌克兰] Dennis Yurichev 丹尼斯 著
逆向工程是一种分析目标系统的过程。 本书专注于软件逆向工程,即研究编译后的可执行程序。本书是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及软件逆向工程相关的众多技术话题,堪称是逆向工程技术百科全书。
全书讲解详细,附带丰富 的代码示例,还给出了很多习题来帮助读者巩固所学的知识,附录部分给出 了习题的解答。 本书适合对逆向工程技术、操作系统底层技术、程序分析技术感兴趣的读者 阅读,也适合专业的程序开发人员参考。
今日互动
你看过哪三本异步经典书?截止时间4月27日17时,留言+转发本活动到朋友圈,小编将抽奖选出5名读者 赠送纸书2本、e读版100元异步社区代金券3张,(留言点赞最多的自动获得一张)。
长按二维码,可以关注我们哟
每天与你分享IT好文。
在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步e读版图书一本。赶紧来参加哦!
扫一扫上方二维码,回复“关注”参与活动!