阅《大道至简--软件工程实践者的思想》有感

      思想的重要性,在学习任何东西之前,我们都要了解其思想,因为思想对客观事物的发展具有不小的促进作用,在老师的推荐下,我利用暑假的一部分时间完成了对周爱民老师的《大道至简》的阅读,这本汇集了周爱民老师多年以来自己对于软件工程思想的理解的书。

      这本书一度被誉为“激荡新思的佳作”,读完这本书首先要提或者更进一步的说,的确惊于作者的写文能力以及对于自己对于古代思想的深深理解与应用,信手拈来中国古代的句子与例子来诠释软件和软件工程这样现代理性的产物。读完这本书,感觉不是很困难,总体讲就像周老师自己说的那样:这本书不是那种不是理论,也不是方法论,只是思想,虽然里面很多东西不太理解或者说根本还没有接触到,这也说明了做软件其实最重要的不是编程能力和灵感的迸发,而是与所有庞大的事情相同“去拆解,去联系”,重要的是思想。

       第一章周爱民老师拿起愚公移山的例子来道明编程的精义即顺序、分支和循环,程序=算法+结构+方法,告诉我们编程的第一要务是先把事情分析清楚,把事件先后的逻辑关系和依赖关系搞清楚,然后再去写代码实现。代码是不存在的,存在的只是思想。其实算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。在所有算法的描述中,有且仅有顺序、分支、循环这三种执行逻辑。他还强调了对于编程语言来说只有喜不喜欢的问题,没有会不会的问题。

       对于我自己来说一开始上大学对编程有一定的恐惧感,甚至可以说是厌恶编程,但经过了大一一年的学习,虽然没有做过工程,但是也做了不少的的题目,在面对一道题的时候,首先要做的就是把逻辑关系理清,有了一个具体可行的想法,最后才是实现。

       失败的过程也是过程。周爱民老师引用瀑布模型及其一些变形,证明:做过程既不是做工程的精义也不是目的,还拿戏目与项目比较,提出走过场,道出编程的目的即——实现。。工程只是一种实现的途径,也给我们这些初学工程的学生一个警示:为工程而工程的人,都迷失在项目中了。结合生活实际,有时为了交作业而赶代码,可以说是忘记了code的目的是什么了,“得其精而忘其粗,在其内而忘其外;见其所见,不见其所不见,视其所视,而遗其所不视。”。现在所学是为了以后的工程,实现才是目的。第六章节也扩展到了生活中的工作:工程不是做的,是组织的。分工明确,步调一致,才能共同完成这个项目。

        大道至简,越是简单的东西往往越接近本质,其实软件工程并没有听起来那么高大上,本质无非就是工具、方法、过程、实现对象。作者从编程讲到管理,最后想要告诉我们的还是那四个字:大道至简。阅读这本书,让我对软件工程有了新的认识,收获不少。

posted @ 2019-07-30 18:49  xppp11  阅读(166)  评论(0编辑  收藏  举报