【精品博文】时过多年,仍然记得的那几本书
写在前面
说到技术近几年基本上专注于Zynq,公司内部的东西就不便到处宣扬了。
与在校时不同的是,不再单纯地读书,更多地是读公司内部资料、Xilinx的Application Note、网络资料,所以这里只能忆往昔,推荐一些过了多年还记得书名的书。
读好书的益处自然是大大的,对于技术类好书而言,简而言之就是能够帮助我们少走弯路,帮助我们站到巨人的肩膀上。
并不是说只有好书才有读的价值,首先有了“读书破万卷”,才能“下笔如有神”,正所谓开卷有益,读书时应该学会发掘书中的闪光点,将之汲取成自己成长的养分。这样一来,只要读书,就能有所收获。
个人选书、读书的基本原则
- 尽量读英文原版
- 原版读起来吃力,退而求其次读翻译版
- 读工程师、项目经验丰富的设计者出的书
- 尽量不读国内高校教授出的书
有时候不得不承认,大概是思维差异的问题,老外对概念和问题的剖析往往更加直观、透彻,便于学习和理解。这里也不是说所有的高校教授写的书都不好,但不可否认的是,大部分都是质量堪忧的,所以干脆直接排除。
C语言篇
《C Primer Plus》
读书的感受:
就好像是在沙滩上吹着海风、散着步,视线里时不时冒出一个惊艳的贝壳,让你忍不住想据为己有。
推荐原因:
谈到 C语言书籍,不得不提一句XX强,网上有很多人推荐用他的书入门,本人表示无法理解。
选书原则里提到过老外的书往往能把概念、问题解析的比较透彻,《C Primer Plus》无疑是其中的佼佼者。C语言算是自学的,刚开始也是读一些国内人写的书,不管是照葫芦画瓢还是囫囵吞枣,总归能写写程序,当然很多时候也是不求甚解,直到读了这本《C Primer Plus》。
读的过程中会发现以前的一些疑问统统烟消云散,浅尝辄止的地方,作者也会深入浅出地帮你透彻地理解。时不时还会有不知道的细节展现在眼前,进一步拓宽你的视野。每一章节后的习题也比较有意思,能够启发思维。
------------------------------------------------------------------------------------------------------------------
《C和指针》
读书的感受:
见识了风清扬的独孤九剑之后,令狐冲才明白,原来剑还可以这么用的!
推荐原因:
指针的争议性相信很多人都知道,功能强大,效率高,但也容易出问题,一些极端的语言是禁用指针的。
本书虽然名为《C和指针》,但并非专讲指针,还是有一些基础内容的。虽然如此,本书也不是一本用于入门的书籍。该书的重点是C 语言的指针,作者反复地讲解指针的各种用法,甚至有一些用法堪称奇葩,读了该书之后,能够对指针有深入的了解,对指针和数组有更加深刻的认识。指针的数组的区别,指向指针的指针,指向数组的指针,这些将不再是你的困扰。
这里插一句,我在找工作的时候,曾经遇到过关于“函数指针”和“指向指针的指针”的笔试题。
博客系列丛书
我看过几本该系列的书,与传统技术书籍的不同是,文字表述上比较随意,没那么一本正经,这样读起来也会有意思一些。
《匠人手记》
推荐原因:
1、作者是技术大牛
作者是大名鼎鼎的“程序匠人”,曾经是知名电子技术论坛——21IC中国电子网论坛的管理员(站长)。他的博客《匠人的百宝箱》也是单片机业内知名博客,可惜的2013年之后基本没有更新了。
2、丰富实用的经验
例如第二部分 经验技巧手记、第三部分 设计案例手记,对于很多购买开发板入门单片机的同学来说,类似这类的文章和实际工程设计经验是很欠缺的。在具备了一定的基础之后,再读这本书,一定会有所收获。
------------------------------------------------------------------------------------------------------------------
《深入浅出玩转FPGA》
推荐原因:
我想也不用多说了,特权同学已经成为FPGA届的一个标志性人物,很多人都是读着特权同学的书,看着他的视频入门了FPGA。
我在上一家单位工作的时候,有时候做一些FPGA设计,找思路的时候,会翻一翻这本书。
------------------------------------------------------------------------------------------------------------------
《感悟设计:电子设计的经验与哲理》
推荐原因:
有句名言是这样说的,方向不对,努力白费。所以,仅仅学习一些技能,比如C语言编程、Cadence还是不够的,这些技能本身不能够完成设计、解决问题。相对于技能本身而言,如何思考、如何解决问题,也是很重要,甚至说是更重要。如果只会简单的使用工具,那么就只能扮演“机器人”的角色,用来干活罢了。这种人不具备主动思考、主动解决问题的能力,工作中遇到问题,首先想到的就是求助,长此以往,就成了整个团队都嫌弃的拖油瓶。
这本书所注重的并不是技术本身,而是电子设计过程中的思维方式、解决问题的方法。正所谓大道相通,在进行电子设计时,我们也可以利用一些哲学方法来指导我们思考、设计、解决问题。
结语
本文仅仅是抛砖引玉,以C语言为例,好的书还有很多,例如《C专家编程》、《C缺陷和陷阱》。关于FPGA设计,读研的时候读过《数字信号处理的FPGA实现》也是一本理论与代码设计相结合得很好的书。
最后希望大家踊跃参与活动,推荐自己认为好的书籍。