《大道至简——软件工程实践者的思想》读后感
《愚公移山》的故事我们都听过,但是将愚公移山与软件工程结合起来我还是第一次听见。愚公在移山的过程中担任了项目组织者,团队经理,编程人员,技术分析师等角色,“虽我者死有子生焉,子又生孙,孙又生子,......子子孙孙,无穷匮也”既描述了可能存在的分支结构,又描述了完成这个工程所必须的循环结构。而“山不加增,何苦而不平”又说明了循环结束的条件。像移山这样庞大的工程竟通过简单的编程实现,这也就是编程的精义。这个有趣而又奇妙的观点就出自于周爱民的《大道至简——软件工程实践着的思想》。
初次听到这本书的名字时,我以为会是软件工程教材之类的枯燥无味的书籍,内心充满抗拒,不愿意去读下去。但是后来当我读到第一章的时候,我就已经深深的沦陷。这本书诙谐而又幽默,也有着作者独到的思考方式。当读这本书的时候,既感觉是在与作者聊天,又好像是在看一个故事,但是在不知不觉中,又能够解决学习中遇到的问题和困惑,理解许多思想,这种奇妙而又有趣的感觉驱使我不停地读下去。
这本书共分为八个章节,分别是编程的精义,是懒人造就了方法,团队缺乏的不只是管理,流于形式的沟通,失败的过程也是过程,从编程的工程,现实中的软件工程,是思考还是思想。在第一章中我明白了编程的精义,编程的本质是选择、顺序、循环,以及不应该整天担心学不好编程或者是讨论语言的好坏,而应该将变成这件事想得简单一点。第二章写道“蜀守冰凿离堆”的方法“积新烧之”,正是闲极无聊的李冰创造了新的方法,这就提示我们要找到方法,不是怎样完成工作的方法,而是怎样更有效率地完成工作的方法。第三章我深刻地了解到团队合作的重要性,正所谓众人拾柴火焰高,我也初次了解到项目经理是如此的重要。第四章讲解了沟通的重要性,仅仅流于形式的沟通是无法很好地完成工作的。第五章作者提出做过称不是做工程,实现才是目的,指出我们不能为了编程而编程,我们最终目的是要解决问题。第六章指出语言只是工具,并以此说明程序、方法、过程、工程、组织、BOSS等,让我更好地理解编程。第七章中作者讲述现实中的软件工程,贴近生活。第八章我明白了作为一名软件工程者思考的重要性,我们要懂得变通、懂得思考,才能成为更优秀的程序员。
读完这本书,我在一些问题的思考上确实改变了很多。之前我总是认为自己没有编程的天赋,变成对我来说很困难,但是书中写道:除了先天智障或后天懒惰者,都是可以学会写程序的。这句话很有道理,反思自己确实在编程上花费的时间少,以后需要更加勤奋去学习、去钻研才能更好地编程,此外还要注重思考,不能为了完成老师布置的作业而编程,而是为了解决问题而编程,要端正自己的态度。书中说到“做工程其实很简单,只是大家把他想复杂了。”愚公都能将移山这项大工程完成,我们而又有什么不可呢?