其他分享
首页 > 其他分享> > 你与科班同学就差这样一个书单,经典技术书籍推荐!

你与科班同学就差这样一个书单,经典技术书籍推荐!

作者:互联网

我当初填志愿选择了自动化,学了模拟电路、信号与系统、自动控制原理等课程。

后来觉得不是很感兴趣(主要是钱不多),于是决定自学计算机,转行成为一名光荣的程序员。

想成为一名合格程序员,就需要先了解计算机专业的课程都有什么,把自己的计算机基本功先练扎实。

于是我赶紧私信我在华科的同学,他发来了下面几个课程:

意味深长地说,我只要研究透它们,转行成功妥妥的,不过自学有点困难,让我耗子尾汁。。。

咱决定转行的人就是不怕困难,于是,我就开始在程序员这条路上越走越远。

这些课程确实都很有难度,不过如果书选得好,自学时能够少走很多弯路。

下面是我精心整理的一份编程书单,每个课程只推荐 3 本书,都包括入门级别书和地狱级别书,分别对应你学习的不同阶段。

如果上来就让你直接啃大块头,那还不得让你怀疑人生,认为自己不是当程序员的料。书不求多,看一本要有一本的收获。

话不多说,马上进入荐书环节。

 

01 计算机组成原理

《编码:隐匿在计算机软硬件背后的语言》

豆瓣评分高达9.3分,相信是很多人相见恨晚的一本计算机入门好书,你也不例外。

《编码》从最底层的串联并联电路开始讲,构造继电器,逻辑门,再构建加法器、译码器、bit 内存,再到存储程序的概念,一直讲到最后的操作系统的概念,从硬件到软件在不需要任何预备知识的情况下,讲解了计算机的概念以及如何从头到尾构造一个计算机。

这本书尤其适合没有计算机基础的编程小白阅读,大学为什么不用这本书作为微机原理的教材!这也可以让很多人少走弯路。

《程序是怎样跑起来的》

本书也是针对初学者从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容。可以让你了解从双击程序图标到程序开始运行之间到底发生了什么。

该书号称以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。

《深入理解计算机系统(第3版)》

如果嫌上面两本有点简单,那你可以试试这本,这本书有多经典不需要多说了,我看完这本书后,对计算机内部原理的认知有了质的飞跃。如果你觉得有难度,可以搭配B站的CSAPP课程一起食用。

可以让你通过程序员的视角,清晰地明白学习计算机系统的内部工作原理,让你写出更快、更可靠的代码。而且它还有助于你为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。

 

02 计算机操作系统

《操作系统真象还原》

这是一本比较小众,但绝对是你入门操作系统的好书,大学的课程讲操作系统都过于抽象与晦涩,我当时从图书馆借了一本讲操作系统的书,硬着头皮看完两章就放弃了,完全就是知识点的堆砌,让人提不起一点兴趣。

难得的是该书作者是国人,通俗易懂地讲解每个概念和知识点。还提供了相关源码,你可以对着书调试操作系统的每个功能,图文结合代码,你会对操作系统的全貌都有清晰的认识。

《现代操作系统(第4版)》

本书算是操作系统领域的经典,书中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。涵盖了基本上操作系统的所有内容。

 

03 数据结构与算法

《大话数据结构》

学习数据结构一般都是枯燥的,但是这本书把各个理论以趣味的形式展现出来,通俗易懂,还搭配代码,让你更好地理解。而且每个数据结构与算法,作者都使用各种各样的生活例子进行类比,让你对各个知识点有非常直观的感受,是一本非常适合自学的读物。该书作者还有一本《大话设计模式》,同样值得推荐。

《编程珠玑(第2版•修订版)》

如果你学会了各个数据结构和算法,但是不知道怎么使用它们,那你这本书你值得一看,因为它解决的就是计算机科学中最本质的问题:如何正确选择和高效地实现算法。

在书中,作者选取许多具有典型意义的算法问题,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且为复杂的编程问题提供了清晰而完备的解决思路。

《算法导论(第2版)》

如果数据结构只让我推荐一本,那妥妥的就是这本书,首先说一下,这本书很难,建议先看上面两本书,有了数据结构与算法理论基础后,再来试着啃啃这块硬骨头。

该书深入讨论了各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元,你不必从头开始看;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,也不失深度和数学严谨性。咬着牙反复读几遍这本书,定会让你脱胎换骨。

 

04 计算机网络

《图解 TCP/IP(第5版)》

这本书是入门 TCP/IP 网络模型的首选,其中用大量的图文来介绍了 TCP/IP 网络模式的每一层,通过图文并茂的方式,让你理解TCP/IP的基本知识、掌握TCP/IP的基本技能。

书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导你了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。

《网络是怎样连接的》

和《程序是怎样跑起来的》这本书是一个系列,非常通俗易懂,也是一本适合初学者的书。

本书从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。可以帮助你理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。

《计算机网络:自顶向下方法》

入门计算机网络后,可以试着看看这本经典书,该书一个亮点是从应用层的具体应用说起,而不是从枯燥的物理层讲起,从熟悉的事例慢慢了解计算机网络的技术原理,更能引起你的兴趣。自顶向下,最后到物理层,其中的事例详细生动,学起来也不是那么费力。

 

05 数据库系统

《SQL 基础教程(第2版)》

想学数据库,可以先从 SQL 语句学起,这本书介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中有大量示例程序和详实的操作步骤说明,让你循序渐进地掌握SQL的基础知识和使用技巧。

对于 SQL 入门,这是我认为最好的书了(其他人可能会推荐《SQL必知必会》),它不只是介绍 SQL 语法结构,还介绍了关系数据库理论,让你能够更顺利写出能够执行的SQL语句,SQL 是实践科学,不要只看书,必须多写才有感觉。

《MySQL 必知必会》

学会了 SQL 语句,可以试试学习 MySQL 数据库,MySQL 是世界上最受欢迎的数据库管理系统之一。该书从简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了你应该掌握的知识,使你不经意间立刻功力大增。

这本书实践性很强,一步步教会你怎么用 SQL 语句操作 MySQL 数据库,例子全面且具体,非常适合没有任何基础的初学者。

《数据库系统概念》

这本书帮助你继续夯实数据库理论基础,增强数据库技术内功,让你深入理解数据库,深入操作数据库。

该书很多内容在前面两本书中都有介绍,不过讲解地更加深入和具体,内容非常全面,甚至觉得没必要读完所有章节,你可以选择其中的重点,或者你感兴趣的内容进行选读,其他章节在以后工作中用到再来翻阅。

 

科班的基础课程书籍推荐就是这些,对于非科班的同学,这些书籍都是很有必要看的。

它们涉及到计算机的底层知识,根基打牢后,不管你是想做前端、后端还是服务端,都能够更加游刃有余。

这也是我没有推荐编程语言书籍的原因(以后会推荐),不管选择什么语言,这几门课都是程序员需要学习的。

而且学编程不能光看书,需要跟着书一行一行地敲代码,只有自己亲手敲一遍,你才能掌握地更扎实。

 

作者简介

我是阿德,一名五年工作经验的软件开发工程师,985高校非科班程序员,热爱编程与开源,

此公众号【程序员阿德】专注于分享各种计算机干货,包括但不限于计算机组成原理、数据结构与算法、计算机网络、操作系统、数据库、Linux等。

相信你能够在这里有所收获,精进为一名优秀程序员,我们一起加油~

 

 

标签:本书,书单,计算机,IP,程序员,SQL,科班,书籍,操作系统
来源: https://blog.csdn.net/baidu_36639782/article/details/116372715