很多小伙伴问我推荐什么书籍和网课,这次把私藏很久的资料都贡献了(上)
平时有不少读者朋友问,有没有学习书籍网上课程推荐?今天结合自己学习经历与身边几个朋友的经历总结了一份程序员相关的书籍和网课。
1、 C 语言
书籍
第一本书《C 程序设计语言》,机械工业出版社,作者 Brian W. Kernighan / (美)Dennis M. Ritchie。C 语言之父写的,入门经典书籍,建议大家作为 C 语言入门的第一本书。
《C Primer Plus》 ,人民邮电出版社,作者 Stephen Prata。 可以作为 C 语言工具书,也可以作为入门,内容循序渐进,能够锻炼编程思想。
《C 和指针》 深入了解指针,看完以后对指针不再害怕。
《C 陷阱与缺陷》 正如书上所说,“本书所揭示的知识,至少能够帮助你减少 C 代码和初级 C++ 代码中 90% 的 Bug”,看完后可以避免 C 语言开发的一些坑。
网课
1、《郝斌 C 语言自学教程》
https://www.bilibili.com/video/BV1os411h77o?from=search&seid=15026475169248378667
2、《程序设计入门——C 语言》(浙大翁恺)
https://www.bilibili.com/video/BV1ME411h75N?p=48
2、c++
书籍
《C++ Primer 中文版》,本书面向 C++ 语言的初学者,是一本很友好的自学教材。作者把 C 语言的基础概念和需要注意的编程细节说得很清楚,并且例程和习题丰富,相信认真读过之后,可以完成 C 语言入门这个目标。
《高质量程序设计指南》,墙裂推荐,这本书看得比较过瘾,书里面有一些编程规范的东西,对于写程序的人来说,还是不错的,可以培养好的编码习惯,加深了一些知识的巩固。比较实用,也适合面试前看看。
《Essential C++中文版》是一本内容不多但很实用的 C++ 入门书籍,强调快速上手与理解 C++ 编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。
《More Effective C++(中文版)》,该书围绕 55 条准则,每一条都介绍了一个可让你写出更好的 C++程序代码的方法,并以特别设计过的例子详加讨论。
《提高 C++性能的编程技术》,本书认为 20% 的性能缺陷将会占用我们 80% 的时间。因此我们把精力集中在最有价值的地方。本书详细讨论了临时对象、内存管理、继承、虚函数、内联、引用计数以及 STL 等一切有可能提升 C++ 效率的细节内容。无论你是相关领域的从业人员,还是 C++ 程序设计爱好者,或者是渴望突破编程瓶颈、大幅提升自我修为的程序设计爱好者,本书都必将使你获益良多。
《从缺陷中学习 C/C++》,从本质上来说,这就是一个 C/C++ 的错题集。全书中包括 63 个问题引发的错误,即书名中的缺陷。也是避坑指南。
《C++ Templates 中文版》,深入了解现代 c++ 模板的实用书籍。本书不仅是对 C++ 模板的权威解释,而且本书还深入地介绍了其他一般的 C++ 思想。
《STL 源码剖析》,详细地了解 STL 的底层实现机制,同时也可以对常用数据结构,C++ 内存管理拥有更深的理解。
网课
1、清华大学-郑莉-C++语言程序设计(基础篇)
https://www.bilibili.com/video/BV1PA411b75a?p=92
2、侯捷老师的八部曲(墙裂推荐)
https://github.com/tangtangcoding/C-C-
3、QT 视频教程
https://www.bilibili.com/video/BV1jK4y1m7d4
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 内存管理的入门书籍。
《Java 虚拟机规范(Java SE 7 版)》作者是 Java 编程语言的主要贡献者之一。如果你想系统、全面、深入的学习 JVM,绝对不能错过这本书。
《企业应用架构模式 》出自于 Martin Fowler 的大作,软件设计、架构经典之作。
《分布式 Java 应用:基础与实践》来自淘宝大牛 bluedavy,推荐作为学习分布式应用入门书籍。
网课
1、学就会的 Java 零基础入门教程(专为 Java 小白打造,康师傅倾力铸造)
https://www.bilibili.com/video/BV1Kb411W75N
2、翁恺 Java 程序设计
https://www.bilibili.com/video/BV1DJ411B7cG
3、尚硅谷 Maven 视频(maven 零基础入门)
https://www.bilibili.com/video/BV1TW411g7hP
4、【狂神说 Java】Spring5 最新完整教程 IDEA 版通俗易懂
https://www.bilibili.com/video/BV1WE411d7Dv
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 编程的奇技淫巧,对资深开发者来说也是可以长读的。
网课
1、慕课网 python 入门
http://www.imooc.com/learn/177
2、慕课网 python 进阶
https://link.zhihu.com/?target=http%3A//www.imooc.com/learn/317
3、用 python 玩转数据
https://link.zhihu.com/?target=https%3A//www.coursera.org/learn/hipython
4、Python3 数据分析教程实战数据
https://link.zhihu.com/?target=https%3A//www.bilibili.com/video/av34675769%3Ffrom%3Dsearch%26seid%3D3000722924614788455
5、Go
书籍
《Go 程序设计语言》, 艾伦 A.A.多诺万。 把这本书当成教科书就好,里面很多地方写的非常细致。
《GO Web 编程》,主要是介绍如何用 GO 进行 Web 开发,是从国外翻译来的一本书,通过 net/http 标准库介绍 Go 如何开发 web 项目,很纯粹,这本书很快就能看完,难度不大,但有一读的必要。
《Go 学习笔记》,雨痕大佬的书,真的是学习笔记,对 Go 语言总结非常到位,每章都很精彩,不过读这本书最好有些 Go 的经验,不然会有点枯燥,因为文字描述都是点到即止;
《GO 语言高级编程》,涵盖 CGO、Go 汇编、RPC 实现、Web 框架、分布式系统等高阶主题;
《Go 语言实战》,有了一定的 GO 基础后再来读这本书;
网课
1、Golang 学习手册之:带你 21 周搞定 Go 语言
https://www.bilibili.com/video/BV16E411H7og?from=search&seid=15698740937508405235
2、尚硅谷 Go 语言核心编程教程全套完整版(从理论到实践)
https://www.bilibili.com/video/BV1ME411Y71o?from=search&seid=15698740937508405235
3、黑马 Go 语言基础+高级+进阶就业班
https://www.bilibili.com/video/BV1Ci4y1c73A?from=search&seid=15698740937508405235
6、数据结构与算法
书籍
《算法图解》,这本图解书确实有所突破,很容易看懂,不枯燥。虽然都是些入门级的算法,经过作者梳理后就很清晰了。我觉得这是很好的算法入门书。
《大话数据结构》,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。
《算法 (第 4 版)》,Sedgewick 畅销著作的最新版,全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的 50 种算法。
《数据结构与算法 C++版》,是数据结构和算法分析的经典教材,书中使用主流的程序设计语言 C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d 树和配对堆等。适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。
《挑战程序设计竞赛》,本书适合所有程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。
《算法导论》,在 IT 专业人员的职业生涯中,本书是一本案头必备的参考书或工程实践手册。
视频
1、郝斌数据结构
https://www.bilibili.com/video/BV1Ut411a7rN?from=search&seid=14411767501116137153
2、数据结构与算法基础
https://www.bilibili.com/video/BV1nJ411V7bd?p=1
3、数据结构-浙江大学
https://www.icourse163.org/course/ZJU-93001?from=searchPage
7、计算机网路
书籍
《 图解 TCP/IP 》,一本图文并茂的网络管理技术书籍,适合入门,把复杂的知识点简单化,让广大读者理解 TCP/IP 的基本知识、掌握 TCP/IP 的基本技能。
《 图解 HTTP》,适合入门,HTTP 知识点算是校招必备考点了,以大量生动形象的通信图例,更好地帮助读者深刻理解 HTTP 通信过程中客户端与服务器之间的交互情况。读者可通过本书快速了解并掌握 HTTP 协议的基础,前端工程师分析抓包数据,后端工程师实现 REST API、实现自己的 HTTP 服务器等过程中所需的 HTTP 相关知识点本书均有介绍。
《计算机是怎么样跑起来的》、《程序是怎样跑起来的》、《网络是怎样连接的》,作者矢泽久雄,这三本书是图灵经典计算机基础图书,都是一个风格,小而美的代表。对初学者更友好一点,配图相当丰富,很容易理解。
《 计算机网络:自顶向下方法 》,本书是经典的计算机网络教材之一,采用了作者的自顶向下方法来讲授计算机网络的原理及其协议,注重原理和实践。
《TCP/IP 详解卷 1》,卷 1 的第一版更好,第一版没有第二版厚,第一版的内容完全足够,而第二版进行了扩写,就显得是一本“大头书”了。
视频
1、计算机网络微课堂
https://www.bilibili.com/video/BV1c4411d7jb?p=1
2、韩立刚计算机网络 谢希仁 第 7 版
https://www.bilibili.com/video/BV1gV411h7r7?p=1
分享
最后推荐一个资源仓库:
https://github.com/tangtangcoding/C-C-
版权声明: 本文为 InfoQ 作者【C语言与CPP编程】的原创文章。
原文链接:【http://xie.infoq.cn/article/0c0f31da07e2420184f1292f5】。文章转载请联系作者。
评论