精心整理的计算机专业书单
Posted C语言与CPP编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了精心整理的计算机专业书单相关的知识,希望对你有一定的参考价值。
1、C语言
这本书入门挺好的,感觉可以提高对C的兴趣,里面讲的东西也不是那么难懂。可以作为入门第一本书。
C程序设计语言
第一本书《C程序设计语言》,机械工业出版社,作者Brian W. Kernighan / (美)Dennis M. Ritchie。C 语言之父写的,入门经典书籍。
C Primer Plus
《C Primer Plus》 ,人民邮电出版社,作者 Stephen Prata。可以作为 C 语言工具书,也可以作为入门,内容循序渐进,能够锻炼编程思想。
C和指针
《C和指针》 深入了解指针,看完以后对指针不再害怕。
C陷阱与缺陷
《C陷阱与缺陷》 正如书上所说,“本书所揭示的知识,至少能够帮助你减少 C 代码和初级 C++ 代码中 90% 的 Bug”,看完后可以避免 C 语言开发的一些坑。
2、C++
C++ Primer中文版
《C++ Primer中文版》本书面向 C++ 语言的初学者,是一本很友好的自学教材。作者把 C 语言的基础概念和需要注意的编程细节说得很清楚,并且例程和习题丰富,相信认真读过之后,可以完成 C 语言入门这个目标。
《C++程序设计语言(原书第4版)》C++之父作品!这本书从C++语言设计者的角度讲解了专业C++程序员需要的每个语言特性和标准库组件,并解析了它们的设计初衷、原理和制约因素,是数百万C++程序员学完后推崇备至的C++语言学习宝典。
高质量程序设计指南
《高质量程序设计指南》,墙裂推荐,这本书看得比较过瘾,书里面有一些编程规范的东西,对于写程序的人来说,还是不错的,可以培养好的编码习惯,加深了一些知识的巩固。比较实用,也适合面试前看看。
Essential C++中文版
《Essential C++中文版》是一本内容不多但很实用的 C++ 入门书籍,强调快速上手与理解 C++ 编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。
More Effective C++(中文版)
《More Effective C++(中文版)》,该书围绕55条准则,每一条都介绍了一个可让你写出更好的C++程序代码的方法,并以特别设计过的例子详加讨论。
提高C++性能的编程技术
《提高C++性能的编程技术》,本书认为 20% 的性能缺陷将会占用我们 80% 的时间。因此我们把精力集中在最有价值的地方。本书都必将使你获益良多。
从缺陷中学习C/C++
《从缺陷中学习C/C++》从本质上来说,这就是一个 C/C++ 的错题集。全书中包括 63 个问题引发的错误,即书名中的缺陷。也是避坑指南。
C++ Templates中文版
《C++ Templates中文版》,深入了解现代 c++ 模板的实用书籍。本书不仅是对 C++ 模板的权威解释,而且本书还深入地介绍了其他一般的 C++ 思想。
STL源码剖析
《STL源码剖析》详细地了解 STL 的底层实现机制,同时也可以对常用数据结构,C++ 内存管理拥有更深的理解。
还有《C++标准库(第2版)》、《C++并发编程实战》、《C++编程思想(两卷合订本)》等
3、Java
《Head First Java, 2nd Edition(中文版)》这本书不仅内容丰富、有趣且通俗易懂,并且涵盖了所有 Java 相关的基础知识。如果你是 Java 初学者,这本书正适合你。
《Java 核心技术(卷1、2)》写作风格相比 Head First 趣味性来说更显传统,所涵盖的内容包括 Java 基础知识及高级应用,是对于入门来说的另一种选择。
《Java 编程思想(第4版)》必读之作,不仅涵盖所有 Java 基础,对于编程思想层面的提升也有很好的帮助。
《Head First 设计模式》延续 Head First 一贯生动趣味的写作风格,介绍 23 个设计模式,推荐作为设计模式入门级书。
《Effective Java 中文版(第2版)》Java 编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。
《重构:改善既有代码的设计》出自于 Martin Fowler 的大作,写出优秀代码的必经之路。
《深入理解 Java 虚拟机》出自于 icyfenix 之手,可以作为了解 JVM 及 Java 内存管理的入门书籍。
4、Python
《Python编程,从入门到实践》,这应该是世界上最畅销的Python编程书,没有之一。英文名叫作《Python crash course》,作者Eric Matthes是一名高中老师,正是有着丰富的教学经验才会写出这样深得人心的书。看了本书的目录,基本把python的核心语法都讲到了,学完之后可以搞点小事情,比如数据分析、可视化编程、web开发等。
《Python学习手册》,该书已经出到第五版,对语法的讲解非常详细,而且有丰富的插图和示例代码。详细有时候意味着啰嗦,很多人觉得作者过于琐碎,但其实不太明白作者的用心良苦,想要学好python还真得细细琢磨语法。
《笨方法学Python》,书里面一步步引导初学者从下载软件开始,到安装、配置,写出第一个hello world,最后实现一款有用的小软件或者有趣的小游戏,最终学会并喜欢上python。
《流畅的python》,豆瓣9.4分!这本书不是通俗意义上的python语法书,而是教你写出更简洁、更规范、更聪明的python代码。
《Effective Python:编写高质量Python代码的59个有效方法》,书中有59个Python编程的技巧和捷径,并用真实代码示例进行了解释。当然阅读起来会有些门槛,适合那些有基础的童鞋。
《Python Cookbook》,cookbook系列一向是精品,python这本也不例外,适合有基础的朋友看,里面讲了很多python编程的奇技淫巧,对资深开发者来说也是可以长读的。
数据分析:《利用Python进行数据分析》、《Python金融大数据分析》
5、Go
《Go程序设计语言》, 艾伦A.A.多诺万。把这本书当成教科书就好,里面很多地方写的非常细致。
《GO Web 编程》,主要是介绍如何用 GO 进行 Web 开发,是从国外翻译来的一本书,通过 net/http 标准库介绍 Go 如何开发 web 项目,很纯粹,这本书很快就能看完,难度不大,但有一读的必要。
《Go 学习笔记》,雨痕大佬的书,真的是学习笔记,对 Go 语言总结非常到位,每章都很精彩,不过读这本书最好有些 Go 的经验,不然会有点枯燥,因为文字描述都是点到即止;
《GO 语言高级编程》,涵盖CGO、Go汇编、RPC实现、Web框架、分布式系统等高阶主题;
《Go 语言实战》,有了一定的 GO 基础后再来读这本书;
6、数据结构与算法
《算法图解》,这本图解书确实有所突破,很容易看懂,不枯燥。虽然都是些入门级的算法,经过作者梳理后就很清晰了。我觉得这是很好的算法入门书。
《大话数据结构》,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。
《算法 (第4版)》,Sedgewick畅销著作的最新版,全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法。
《数据结构与算法 C++版》,是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。
《挑战程序设计竞赛》,本书适合所有程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。
《算法导论》,在IT专业人员的职业生涯中,本书是一本案头必备的参考书或工程实践手册。
7、计算机网络
《图解TCP/IP》,一本图文并茂的网络管理技术书籍,适合入门,把复杂的知识点简单化,让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。
《图解HTTP》,适合入门,HTTP知识点算是校招必备考点了,以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过本书快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。
《计算机是怎么样跑起来的》、《程序是怎样跑起来的》、《网络是怎样连接的》,作者矢泽久雄,这三本书是图灵经典计算机基础图书,都是一个风格,小而美的代表。对初学者更友好一点,配图相当丰富,很容易理解。
《计算机网络:自顶向下方法》,本书是经典的计算机网络教材之一,采用了作者的自顶向下方法来讲授计算机网络的原理及其协议,注重原理和实践。
TCP/IP详解 卷1:协议
《TCP/IP详解 卷1:协议》堪称 TCP/IP 领域的圣经。作者 W. Richard Stevens,他从使用者(程序员)的角度,以 tcpdump 为工具,对 TCP 协议抽丝剥茧娓娓道来,让人叹服。恐怕 TCP 协议的设计者也难以讲解得如此出色,至少不会像他这么耐心细致地画几百幅收发 package 的时序图。
8、数据库
mysql必知必会
入门书籍,书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束等等。
高性能MySQL(第3版)
进阶书籍,mysql 领域的经典之作。不但适合数据库管理员(dba)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
MySQL技术内幕:InnoDB存储引擎(第2版)
升华书籍,详细讲解了 InnoDB 存储引擎内部的各个功能模块的实现原理,对大家阅读和理解 InnoDB 的源代码有重要的指导意义。适合所有希望构建和管理高性能、高可用性的 MySQL 数据库系统的开发者和 DBA 阅读。
本书全面而完整地讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,给出大量参考信息。通过阅读本书,读者可以快速、有效地了解Redis的内部构造以及运作机制,更好、更高效地使用Redis。
其他书籍:
《数据库系统实现》、《Redis实战》。
9、计算机组成原理
深入理解计算机系统(原书第3版)
这是一本很深入和方向性的书,每个 CS 学子都应该去读,它会告诉你,要想成为一个优秀的程序员,你应当重点理解哪些计算机底层原理。
《计算机组成与设计:硬件/软件接口(原书第5版)》,017年度“图灵奖得主Patterson与Hennessy作品。本书是计算机组成与设计的经典畅销教材。
其他书籍:
《计算机组成原理与设计》。
10、操作系统
本书是操作系统领域的经典之作,讲的全面详细,包括进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。所以也是面试笔试操作系统的宝典。
其他书籍:
《操作系统真象还原》、《30天自制操作系统》。
11、Linux && Windows && 网络编程
Linux程序设计
《Linux程序设计》是我的 Linux 编程入门书籍。本书以简单易懂、内容全面和示例丰富而受到广泛好评。
鸟哥的Linux私房菜
《鸟哥的Linux私房菜》,也是 Linux 入门书籍。是中国人写的,是一个中国人真正了解了这个系统,然后按照中国人的思维习惯写出来的书,所以容易理解。
《Windows程序设计(第5版 珍藏版)》这本书其实是工作后做项目的时候才开始看的,这本书主要介绍Window系统桌面软件的开发,作为Windows开发人员的必备参考,看过这本书,你会对你电脑上用到的软件有一个更深的体会。窗口是怎么出来,菜单点击后是怎么处理的,动画是怎么绘制的,软件又是怎么和操作系统通信的,看完这本书你通通都会知道。
TCP/IP网络编程
非常适合初学者学习的,对网络编程的讲解清晰直白,完全适合新手入门,写出了网络编程的每一个步骤。
UNIX网络编程 卷1:套接字联网API(第3版)
UNIX网络编程 卷2 进程间通信
学习Unix必备的经典书籍,重要章节看看,可以当工具书使用。
UNIX环境高级编程(第3版)
进程控制 ,线程控制,进程环境,进程通信 讲得尤为精彩,网络部分讲得比较浅,但也够用。整本书可以说涵盖了Linux的方方面面,面面俱到,甚至很细。
本书是 Linux 服务器编程领域的经典著作,从网络协议 TCP/IP、服务器编程核心要素,Linux 网络编程 API、高级 I/O 函数、Linux 服务器程序规范、高性能服务器程序框架、I/O 复用、信号、定时器、高性能 I/O 框架库 Libevent、多进程编程、多线程编程、进程池和线程池等内容等多角度全面阐释了编写高性能 Linux 服务器应用的方法、技巧和思想。还包含两个综合性案例,从实战的角度讲解了高性能服务器的优化、系统监测工具的使用等内容。
Linux多线程服务端编程
本书是陈硕大佬的作品,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以 muduo 网络库为例,讲解这种编程模型的使用方法及注意事项。
其他书籍
-
《编译原理(原书第2版)》
-
《汇编语言(第3版)》 王爽
-
《大话设计模式》
-
《疯狂ajax讲义》
-
《Node.js开发指南》
-
《jQuery权威指南》
-
《html5与CSS3基础教程(第8版)》
-
《代码整洁之道》
-
《人月神话》
-
《浪潮之巅》
-
《重构:改善既有代码的设计》
-
《程序员健康指南》
以上是关于精心整理的计算机专业书单的主要内容,如果未能解决你的问题,请参考以下文章