写一些 从入门到深入 应该仔细看 仔细读的书

时间:2022-04-03 13:09:09

我也没完全读完,但是书架上都有的。 当然有些书都读完了,还做了习题。

从入门开始

计算机的入门书籍  应该是这本    “编码的奥秘”  如果你对计算机一点都不懂,如果你会一点dos 或者windows 的操作。 那么赶紧忘记它,然后从开始看这本书,

这本书很有趣,我在离开学校很多年后,才知道这本书,才真正的知道了 所谓 数电 模电 和我们计算机的联结。 学习好的同学请绕路

 

然后你应该看c 编程语言。 这本书也就打个基础,离你真正掌握 指针 什么的 距离还远。

 

读完了大概能写个小程序。

 

剩下的先补一下基础  数据结构。 清华版 c 版本的就行。 这本书内容也可以说是包罗万象。 如果同学属于天之奇才读完这本书就可以不用继续向下看了,您可以去做一个牛人了。

不牛的继续读。下面的分支挺多,

我建议先学汇编吧。  王爽那本 很不错, 虽然学了实际用处也不大,但是对体系理解当然会深刻很多。

 

然后学习 c++ 吧。

c++ 学习可以说博大精深, c++ primer 也能算是走马观花。并不扎实。不扎实 是因为里面的

技术点很多,很容易深陷其中。我也没精力全部理解。

c++ 要继续 就是 effective c++  more effective 那几本技巧书, 这个难度是有点的。

stl 标准库

stl 源码剖析   2书可以一看, 这两本  第一本我看了个80% 可以说掌握大部分的stl 操作,第二本却没坚持下来,惭愧。

 

更深难度的 more inside , c++ template  我都没看,或者买了 在那里吃灰。 惭愧惭愧。 这些书可以面试的时候侃侃,

比如我上次面试,有个讨厌的家伙就拿了虚表的具体实现问个不停,很烦。我又不是面试编译器程序员,怎么可能专研这个东西呢

 

如果这时候想在设计方面有所发展 那就是 head first 的 设计模式了。  按照这个线路下来 应该能接上。设计模式这书是我看过

最有趣的了,唯一不足就是用的是java, 我不会java, 好在c++ 实现也简单。

 

剩下 可以看 c/c++ 深入系列。 蛮古老的系列书, 我有几本 鱼书 和c 陷阱, c/c++代码精粹。  陷阱先看吧, 鱼书有相当难度,我n年前无知的看过,现在已经回忆不起什么了。精粹一书 有些言过其实,代码并无太多出彩处。

 

c++ 是需要练习的语言。只看不练是写不好的,只写不看也只会重复简单的垃圾代码。

语言又2种, 1种没人用,1种天天被人骂。

c++ 属于后者。

 

linux :

入门就学 鸟哥的linux 系列吧,很不错 细致,入门即可。

shell ,学个大概就行了,没必要学太深

剩下就是看 linux 程序设计3   unix 高级环境程序设计 这本太难了,估计啃不下来的

等你熟悉到一定程度在回来看。

这个时候可以看prthead 多线程程序设计。此书翻译得不太好,很晦涩。但是我没找到更好的书了。

友情推荐 OReilly.Linux.System.Programming - Talking.Directly.to.the.Kernel.and.C.Library

这书是cu 一位朋友翻译的,内容详实,深入浅出非常适合阅读。作者love 是内核主要人物,需要的朋友不要错过。

 

系统深入的话 可以看 深入理解计算机系统 此书非常好。放在这里说是因为有了上面资料打底,你现在看应该不难了。

学完了很多问题就有深刻理解了,我曾经写过mail 向作者要书的答案,但因为不是教师,别人不给我。谁有答案的请mail 我 ppmsn2005@gmail.com

谢谢

 

算法部分么 算法导论

编译器部分 龙书         

这2本都没好好看,蜻蜓点水的过了。 想深入这2本不能跨过。 不练好这2门,所学it 都是空, 我现在学的还都是空啊。

至于高爷爷的 那几本书,那就搞算法的人去看吧,我知道你们也不会去看的。

 

网络了,现在不学点网络是没办法混的

计算机网络  王小虎翻译的第三版。 后来好像是潘老师翻译的。 这本是 写操作系统的大牛所写,可以说很好。可能你们也都学过,但是我想说你们学了和没学是差不多的。懂的全是概念,此书缺实践。

实际点 就是richard stevent 大师的 TCP/IP 卷一了,我当时完全靠自学,花了半年,一个个包的观察流向,可以说基本掌握了 这本书,期间场景历历在目。此书学会IPV4 可以说是完全掌握了。99% 的网络问题都难不倒你了, 1% 我还没遇到过,其实这就是回归了网络的本质, 一些信息按照一定的规则在传输。 使用的工具

推荐IRIS, 当然wireshake 也很好。

 

剩下就是unix 网络编程 卷1 ,这个学会 基本就能说掌握网络编程了。 可以结合 unix 高级环境编程一起看。

unix 网络编程卷2 是讲IPC 的,这个可以根据需要学。

 

windows 部分:

我是被rd 工具宠坏的人, windows 程序设计 买了很多年也没看过... 只懂基本的消息循环,消息处理,所以这个系列就无法推荐了。

windows 多线程编程  侯捷的   很不错,可以看看。 windows 程序设计里面 也有一章介绍多线程的,可以结合看。

大牛来补充吧。

 

内核开发:

心向往之  憾。

 

boost:

好像没太多好资料,凑合着文档看看吧。因工作环境要求,用得也少,你可以选择几个库先使用起来,boost是下一代的STL,不可不学,一定要学。

 

至于数据

网页编程

我就比较外行了,也不板门弄斧。

 

3D

OPENGL

CUDA

的请大牛补充