《大道至简》——软件工程实践者的思想的作者周爱民是程序员出身,是真正的软件工程实践者,这本书确实是一个真正有经验的人的总结。作者从自身经历出发,阐述了对软件工程实践的思想,内容简洁深刻,生动形象,值得反复阅读,细细品味。这本是虽然并不涉及具体的方法与手法,只是叙述了基本的原理与思想,而正是这些思想才是我们真正需要铭记于心的,才是事情的本质,所谓‘大道至简’,当我们能化繁复大道为简义才能够在面对任何困难时都怡然不惧,游刃有余。
作者在开篇第一章由‘愚公移山’的故事引出对编程精义的阐述,讲‘愚公移山’这件事与一个软件工程项目做类比,将愚公看做是一位工程名家,浓缩了项目组织者、团队经理、编程人员、技术分析师等众多角色与一身,作者经过这样一个类比阐释了编程的根本:顺序、分支和循环。庞大若‘愚公移山’这样的工程都是由这样简单的过程来实现,这便是编程的精义。任何一个程序都跳不脱这三个部分,重要在于如何高效的组织,利用这三部分来完成具体的工作。
作者在第一句中提到‘仅仅就编程序来说,实在是一件很简单的事,甚至可以说是一种劳力活。’而我们现在只能算是初学者,我们现在的编程还仅限于模仿,模仿老师的程序和设计思路,我们还淹没于代码的汪洋大海之中,作者作为在软件行业浸淫了数十年的人,说出这样的话并不奇怪,大UI与我们来说重要的是了解其对于编程思想的阐述,这样我们才能在大海之中找到方法,再加以实践锻炼成为一名优秀的程序员而不是一个‘码农’。
作者还对‘程序=数据+结构’做了简洁而深刻的分析,编程的第一要务是先把事情分析清楚,再写代码,积极工作与勤于思考都要占时间。
算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依据的数据实体。在这个公式中代码是不存在的。存在的只是思想,是由所有程序所提炼的精髓,然而只有思想还远远不够,还需要有扎实的基础才能将想法付诸实践,而基础需要我们不断学习,不断积累。
作者还谈到了一个重要问题——语言。计算机行业迅猛发展,产生了众多的语言,作者指出当你熟悉了一门语言之后编程语言只有喜欢与不喜欢的问题,没有会不会的问题,语言之间有很多相似之处,没有优劣,差别主要表现在适用范围上。目前我们作为初学者对于语言还不甚了解,尚且需要不断学习。
作者以极其生动的语言对编程的精义娓娓道来,让我们钦佩不已,这些话也让我们豁然开朗,我们现在还很缺乏分析问题,解决问题的能力,,在今后很长的一段时间我们都无法企及作者那样的高度,但我们可以从他的指点中找到方向,不断练习,总结提高,在学习过程中不断加深理解。大道至简,我们尚需努力。