初次看到《大道至简》这本书的书名时,我被震惊到了,当时觉得十分奇怪,一本讲计算机编程的书怎么会有一个如此文雅的名字?上网搜索这本书,发现学界对这本书的评价还是十分高的,周爱明老师的《大道至简》这本书被誉为“激荡新思的佳作”,作为一名软件工程专业准大二的学生,在老师的建议下,我利用暑假的时间阅读了整本书,书中作者对于编程的讨论对我的启发还是十分大的。
读完这本书后,反观我自己大学一年的编程存在许多问题。在过去一年的编程中,看到某一道编程题,会拿起来就开始写,缺少自己思考的过程,而周爱民先生在这本书中提到“所以编程的第一要务是先把事情分析清楚,事件先后 的逻辑关系和依赖关系搞清楚,然后再去代码实现。一接 到任务就开始 Coding 的程序员,通常就是加班最多的程 序员。 记住:积极工作和勤于思考都要占时间。”这段文字无疑给了我很大警示,编写代码和思考都要占时间,如果在编写代码上花费了较多时间的话,那么在编程的过程中脑子也是一团浆糊,而且会将本次编程时间无限次的拉长,反之,如果先思考的话,肯定不会成为加班最多的程序员,也能更好的完成本次编程。至此,在未来的编程生涯中,勤于思考,把逻辑关系理顺在动手编程,才是我应该完成的工作。
在学习任何东西之前,我们都要了解它的思想,因为思想对客观事物的发展具有促进作用。大道至简这本书注重的就是思想,它讲解了一些软件工程的思想,此书一共十一个章节,其中每个章节都有好几个小节,每一个小节都有一个生动且丰富的标题直指中心,框架结构比较明显,让人读起来并不那么枯燥乏味。在这本书的第一章,周爱民先生引用了著名的典故“愚公移山”,给我们做了关于编程的精义的介绍,编程的根本就是“顺序,分支和循环“,像愚公移山这样庞大的项目都可以用这样简单的编程来实现,所以也使我对编程有了更进一步的认识,对算法也有了点认识,相信这对今后的学习会有帮助。
本书对语言的阐述我也很是喜欢。熟悉一门语言之后,并没有会与不会,只有喜欢与不喜欢,任何一门语言都可以在两周之内学成,因为他们的基本函数库都是相似的。语言的差别主要是表现在适用范围上,有的可以精确到原子级,表达无穷之小;有的适合做图形处理,它的基本函数书库比其他语言可以快上十倍甚至数十倍;还有的适合做网页,用它做一个通讯薄软件都将是史无前例的挑战,成天讨论那个语言好坏的人甚至可悲,不仅仅是它的一叶障目,更是被他大愚若智的自我蠢哭了。没有一种语言会一直是主流语言,在计算机里有很多种语言,如C,C++等,我们不一定要掌握全部的语言,只需要精通两三种,剩下的就是学习能力。
读完这本书后,内心感触颇深,脑子中貌似是形成了一种新的思想,软件工程的指导思想,而当我们去开发软件时,应该以真正的软件开发思想去思考问题。思考在编程之前,语言并不需要全部掌握,要学会的是学习能力与学习方法,这是我最大的启发。