程序员的自我修养—成为卓越程序员的必备书籍
前言
从小就对计算机比较感兴趣,大学学的是计算机专业,工作以后也是从事的软件编程工作,十几年下来,也屯了不少计算机方面的书籍,我买计算机类书籍有个特点,更倾向于“道”,形而上者谓之“道”,所谓道是一种原理规则类的抽象概念,不管时间如何流逝,其道不会改变,计算机发展了七十年,可直到今天计算机的体系结构基本没有改变,都是冯诺依曼体系结构,虽然还有一种哈弗结构,但是两者还是有很多共性的,今天的pc机性能不知道提升了多少倍,但是最早的X86程序依然能在今天的电脑上运行,为什么?因为PC的体系一脉相承,底层有很多相同的地方。形而下者谓之“器”,计算机领域的“器”我个人的理解是某个领域具体的应用,像office,photoshop等等很多上层应用软件,迭代很快,不同时期会有不同的流行应用。
在这里我就按几个类别介绍一下自己收藏一些经典书籍。这些书籍的作者我就不细细介绍了,毫无疑问都是技术大牛,否则不可能写出这些经典著作,我将从自己的阅读感受说一些值得买的理由。
计算机原理类
编码-隐匿在计算机软硬件背后的语言
这本书最早我是在网上看的PDF版,之前的名字叫编码的奥秘,作者同时也是另一本经典书籍《Windows程序设计》的作者,这本书最大的特点是将计算机原理用很简单的儿时游戏来说明,把复杂的概念简单化,不像大学计算机原理教材那么生硬死板,让你感觉其实计算机原理并不是那么晦涩难懂,非常好的计算机入门读物,同时也能让你对之前学过的计算机原理课程有更独特的理解。
深入理解计算机系统
国内外一众牛逼的大学指定的计算机体系结构教材,最大的特点是从程序员的角度来解读计算机体系结构,不像之前的教材,更多是从电子系统结构的角度来描述计算机系统,造成软硬件的脱离,从而让人难以理解,里面还穿插了不少计算机史上有趣的故事,挺有意思的,
计算机系统-系统架构与操作系统的高度集成
另一本视角独特的计算机体系结构书籍,主要介绍了计算机系统与操作系统之间的联系,如何通过底层实现上层应用,操作系统上的一些功能是如何通过底层硬件实现的。这种联动的描述能更容易让人理解两者之间的关联,你会明白硬件上的一些功能不是拍脑门弄出来的,而是为上层某些应用服务的。
现代操作系统
操作系统领域的经典书籍,当年Linus就是看了这本书写出了Linux,就冲这点,你就知道这本书多牛,不过话说回来,如今我看了还是写不出操作系统,但是能让我更深刻的理解操作系统是如何运作的,不管什么操作系统,内核干的活其实基本差不多。
汇编语言类
汇编语言
这本汇编语言是国内为数不多的写的通俗易懂的汇编入门书籍,没有晦涩的概念,通过一个一个简单的例程,实际操作,让你理解程序底层是如何运作的。
X86汇编语言从实模式到保护模式
上本书看完做完后,进阶就靠这本书了,深入全面的介绍了X86处理器在实模式和保护模式下的工作原理,让你直接控制硬件而不是通过操作系统或者其他应用软件来操作,对下加深对计算机体系的理解,对上加深对操作系统的理解。
X86/X64体系探索及编程
这本书我真是收藏的,没打算看完,除非你是做操作系统,否者真的不用钻这么深了,前面两本汇编书籍足够你理解需要用到的底层知识了。这个也就是碰到问题了,翻下看看相关的知识点。
琢石成器-Windows32位汇编程序设计
这个才是用来进一步进阶的,前面玩的汇编都是为了学习理解,没太大实用性,这个可是正儿八经能运行的32位汇编。需要用到这个的领域也不多,基本是加密,逆向工程,病毒分析,一般人用不上。我也没怎么看,收藏的。
编程卓越之道
这本书的特点也是通俗易懂,用汇编语言的思想设计一种类汇编的高级语言,通过这种高级汇编让你理解汇编语言。有点反其道而行之的感觉,适合学过C语言但没有学汇编的人,可能是思维方式的问题,我还是觉得王爽老师的思路适合国内学生。
C语言/C++
C Primer Plus
C语言的经典,值得收藏的好书,没学过的适合入门,学过的对某个概念不理解可以查阅,C码农案头必备。
C++ Primer Plus
C++语言的经典,值得收藏的好书,没学过的适合入门,学过的对某个概念不理解可以查阅,C++码农案头必备。
就是这么简单,经典无需多言,这两种语言几十年经久不衰必有过人之处,C++虽复杂,却是面向对象语言集大成者,学好这两种语言,不管再学哪一种编程语言都会触类旁通。
编程思想
程序员的自我修养
这本书主要介绍了系统软件的运行机制和原理,让你深入理解程序与操作系统是如何运作的,一个程序是如何在操作系统上运行起来的。国内几个大牛合著的,通俗易懂。
算法导论
这本书我也是收藏的,数据结构的经典之作,研究算法的案头必备,但对我这种主要做控制的码农用处不大,但是书是好书,值得收藏。
编译原理
这本书我能说我是**的吗?毕竟有几个码农是写编译器的呢,这玩意不是一般人弄得,不过毕竟干这行,没事翻翻理解编译器原理对编程也是大有好处的,直到什么样的代码能让编译器效率更高。看看这版本更新的节奏就知道多牛逼,好了,我还没看,是摆着膜拜的。
UNIX环境高级编程
这本书可不是只为UNIX服务的,其实更多的是为Linux服务,毕竟Linux是一种类UNIX操作系统,两者本质是相通的。
UNIX编程艺术
Unix的经典书籍,更多的讲的是编程思想,全书有点像讲故事,看着没那么累,Linux程序员必备的案头书。
个人工作用书
ARM Cortex-M3与Cortex-M4权威指南
介绍ARMCortex架构的书,这一系列的处理器占据了工控嵌入式市场的半壁江山,我工作基本大部分是和这类处理器打交道,编写底层驱动的参考必备,官方出品,权威性不容置疑。
嵌入式实时操作系统uC/OS-III
搞嵌入式软件开发的人没有不知UcOS这个操作系统,最早是2代,最早系统介绍这个操作系统的书,并且开源了操作系统代码,在国内行业应用非常广泛,这本书是其最新的第三版操作系统的。
FreeRTOS源码详解与应用开发-基于STM32
现在嵌入式领域最流行的操作系统是FreeRTOS,现在的占有率最高,开源,源码完全公开,同时也提供功能更全面的付费商业版本的,系统更精简,而STM32系列又是Cortex系列里最流行的处理器,资源极其丰富,这两者结合就是嵌入式行业开发的利器,相关从业人员必备参考案头书。
总结
“道”类的书籍和“器”类的书籍各有特点,一个更新很慢,几十年也就几个版本,为什么?根本不需要,之前说了,计算机发展到今天体系上并没有本质区别,没有特别新的改变,自然不用重新编写。一个更新很快,没个两年就会有新的版本,再过个十多年可能有些应用就消失了,被新的取代更新。 所以我更喜欢收藏这些“道”类的书,不管放多久,不管什么时候看,都会有所收获有所感悟。
值友5568424269
校验提示文案
buybye
校验提示文案
三少爷的鞋
校验提示文案
数据流牛仔
校验提示文案
补签卡
校验提示文案
liseguo
校验提示文案
awei924
校验提示文案
小名_momo
校验提示文案
买了就冲ta
校验提示文案
只允许修改一次昵称
校验提示文案
sjzsnow
校验提示文案
柴头不二雄
校验提示文案
bluewolf
校验提示文案
该昵称已注册
校验提示文案
值友5621106971
校验提示文案
小鱼不吃喵
校验提示文案
值友8352578815
校验提示文案
猫大爷
校验提示文案
zirren
校验提示文案
MarshaII
校验提示文案
Acon
校验提示文案
Coooole
校验提示文案
海阔天空cool
校验提示文案
cxfwzh
校验提示文案
古月润
校验提示文案
理想活着
校验提示文案
外国的月亮圆
校验提示文案
三防两听
校验提示文案
某月_
校验提示文案
呆呆程序猿
校验提示文案
jacobkusch
校验提示文案
海之霸
校验提示文案
闷叔
校验提示文案
linestyle
校验提示文案
值友8506503312
校验提示文案
czjsky818
校验提示文案
百岁山里的可乐瓶
校验提示文案
蓝色神话
校验提示文案
值友3801276911
校验提示文案
小新捡了个水笔
校验提示文案