加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

程序员“趣事”一箩筐 | 程序员学编程:细细啃透这三本,胜读大咖推荐100册

2017/10/23
43
  • 3评论
阅读需 24 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

有网友问我:程序员入门应该读哪些书?我觉得我可以随便回答,因为我预计推荐什么他们都不会去认真读。比如谭浩强的《C 语言程序设计》,肯定没人有什么好奇心去读,就像我从来没有去过西安的古城墙一样。在家窗户抬头就可以看到,每天上班穿过北门和南门,下班回家穿过南门和北门,吃完饭去环城公园散步,所以我根本没有兴趣去看古城墙。

最近,一家培训机构推送了一篇文章 ----《程序员必须读的一百本书》。我浏览了一下大概 80 余本,100 本是虚数,就像黄河九十九道弯。其中有 5 本书是我读过的,六七本我听说过,其余的根本不了解。我是不是要列一个计划读一下?一本书要精读一遍至少 2 个月,读完需要二十年。

其实我觉得认真读几本专业书籍是非常必要的,但是能不能将书中的内容转化为自己的知识,是另外一回事情。敲黑板划重点:有三本书我读了两年至今受益。

1、《C 语言程序设计》(作者 谭浩强)
2、《C 语言编程》(作者 Stephen G.Kochan)
3、《C primer plus》(作者 Stephen prata)

我上大学时,C 语言已经出现在课程中,但还不是非常流行,我们学习的是 pascal 语言。我在一所非重点大学学习,教学相对落后,计算机专业课程的老师都是自学成才。

我们都是委培生,当你的前途与专业无关时,也就没有人花太多心思学习。一部分同学是成人高考,本身就是在职,毕业以后有了文凭,再回原单位就是升官发财;剩下同学就是委培,毕业以后铁路会接收,然后统一分配,有背景的留大城市,没背景的去沿线,最没有背景去秦岭。所以未来的前途和学习成绩没有关系,谁会玩命学习?

既然学生不愿意学习,学校也就不安排水平太好的老师代课。当然那个时候我的能力十分有限,无法对老师的专业水平做出评价。但是从老师的英语发音可以听出一些端倪,一些关键词发音极其不规范,比如“int、char、arrary”等。老师读的最有特色一个单词是“new”,竟然发音与汉字“牛”一模一样,第一次听到他把“new”读”牛”的时候我大跌眼镜,后来对他的课也就没有了兴趣。

好在我们学校离西安交大不远,我找到西安交大的课程表,就去交大上课了。大学课堂中前两排座位是空出来,所以每次都有座位。虽然我不知道这些和我以后的工作有什么关系,但是我从来不打牌、玩吉他、下象棋。

毕业以后我很长时间从事非工程师的职业,我的同学中只有张涛从事了嵌入式开发工作。当我打算从事这个职业时,我的知识相当匮乏,在学校学习的知识早就忘光了。

虽然谭浩强老师不认识我,但是我可以认识他。我的书架上放着一本谭浩强的书,是原来租住的房客留下来的,我花费 2 个月的时间认真研读该书,并且将课后练习题做了一遍,书上的代码我基本敲了一遍。张涛认为在初级阶段敲代码是锻炼编程意识的一种有效方法,确实如此,随后我就为一个 LCD 厂家编写了驱动程序

虽然谭老师的书已经将关于编程的方法论述的非常全面,但由于资质的原因我对很多概念理解还是理解不透彻。参加工作以后我得到一本《C primer plus》,我大概浏览了一下,感觉内容非常不错,与作者有一种神交已久的感觉。书非常厚,但是由于基础有限,我必须从第一页开始读起。我经常揣摩作者想法,每行代码作者编写的缘由,所以阅读速度非常慢。在公司有很多工作要处理,我没有大块时间,下班家里有很多事情处理,这本书有 626 页,有时候一天才能看两页左右,每天腾出一大块时间静心读书简直是奢望,但是我必须要挤时间。

每天坐公交车上班需要一个小时,我是在第二站上车,为了有一个座位我反方向步行到始发站。如果提前 20 分钟出门,就可以避开早高峰,上车就有座位了。我就有整整一个小时看书的时间,计划很完美,但是公交车晃动厉害,看一会就头晕。我只好看一眼,然后回想一下刚才看过的内容,或者回想一下以前看过的内容,尽量减少睁眼看书的时间。工作空隙在单位计算机上敲一下书上的代码,或者验证一下自己编写的代码,三个月后《C primary plus》第一遍就差不多结束了。

捧一本厚书坐公交车非常引人注目,有一次一位老人刚上公交车,我起身让座,旁边一位阿姨站了起来把座位让给老人。她说:“小伙子,我马上就到站了,你忙你坐……”

我回家后告诉妻子,妻子调侃我说:“你以后扛一本字典,肯定有人给你让座。”

因为这本书非常厚,我又经常携带,翻阅一遍后就有点破损了,我就把将他留在公司了。《C 语言编程》这本书我随身携带了半年。妻子有时候笑话我:“你到底在单位时干活挣钱,还是读书挣钱?”

随着学习推进,工作也越来越得心应手,单位的同事从来没有发现其实我不是工程师科班出身,即使与工作十年以上的同事交流也不存在任何问题。

至于今天我要说这么多,因为前几天有位网友问我编程入门要看什么书。我推荐了便于学习的三本书,他认为太简单了,都已经读过收益不大。希望我推荐一些可以提高的书,我觉得我不能向他推荐对读者基础要求比较高的书,因为他当时问我的问题非常基础,但是在他看来非常难于理解,我试着向他解释,后来我放弃了。基础不牢固,其它就是空中楼阁。

其实针对入门的书籍认真读几本后,就可以很好的完成日常的工作了。如果有兴趣读一些提高的书籍,那真的是太简单了,几乎可以一目十行,或者直接挑一两个有兴趣的章节品味一下就可以了。对于一位基础不好的工程师,如果我推荐他去读《编程范式》、《代码整洁之道》只能打击他学习热情。

至于他说已经读过入门的书籍,我认为也仅仅是读过,并没有将书中的内容转化为思想意识。这个世界变化很快,所以人的内心比较浮躁,如果你打算比较长时间的从事工程师这份职业,认认真真读几本基础书籍打牢基础才是正道。

与非网原创内容,未经允许,不得转载。

更多相关内容,请点击:程序员趣事一箩筐

相关推荐

电子产业图谱

早年从事软件测试工作,2002年从事C语言教学。同年设计了视音频切换器,用于硬盘播出机。次年开始从事热电偶检测装置的设计。2010年从事现代农业管理机的设计。2012年从事电力行业的FTU设计与研发,成功编写了FTU软件。2013参与了塔吊安全监控设备开发。10多年来对C语言情有独钟。略懂verilog。