大道至简,一本讨论工程和管理中思想的书,正如它的小标题:“软件工程实践者的思想”。作者是周爱民,作者只想写一本“阐明软件工程的思想核心”的书,而且希望此书既易读又易懂,而又希望简洁,所以成书仅仅只有110页。书虽然很短,但是其中完美地阐述了软件工程的思想核心,正符合了作者的想法,也迎合了读者的要求,不失为是一本经典之作。
今天我读了书的第一章:编程的精义。在第一章的开始,作者便引用了愚公移山的故事,这故事耳熟能详,我想没有人没听说甚至学过这个故事。在这里,一般读者会提出疑问:为什么这里要引用这个故事,之后便会带着问题来到了第一节。
编程的精义,在第一节的开始,作者便为我们解开了疑问,他认为,在两千多年前的寓言中,愚公其实就是一位工程名家。,他身上浓缩了项目组织者、团队经理、编程人员、技术分析师等众多角色的优秀素质。在此项目中,有技术人员,有工程管理,还有一名力量弱,但是充满工作激情的外协人员。之后便是实现“愚公移山”工程的程序:“即使我死了,仍然还有我的儿子活着”,这里边是存在可能的分支结构,IF语句;“儿子生孙子,孙子又生儿子,子子孙孙,无穷无尽”,这里便是完成此工程的循环结构。而“山不会增加”,有此条件,便可得出结论:“何苦而不平”,所以这不是一个死循环。从这里,我们看到了编程的根本:顺序,分支和循环,多大的工程都是通过简单编程来实现的,这便是编程的精义。
下面,作者又为我们解答了会不会写程序的问题。编程,其实并不是什么高深,神奇的技能,不是说只有特定的人才会这项技能,它就是一项非常普通的技能,和其他生活技能一样,都可以经过后期的学习与锻炼而培养出的技能。说到会不会,这便是一个更易回答的东西,只要我们知道先穿衣还是先洗漱的选择,知道出现其他事情时,这两件事情便可以略过这样简单问题的答案,那就可以说我们就懂得编程。
程序=算法+结构。编程其实就是通过逻辑方法,把一件事情交给计算机去做。若想计算机完成问题,需要的是你想清楚。编程的第一要义,便是把逻辑关系和依赖关系考虑清楚,再用代码去实现。这个公式可谓完美地体现了本质,编程最重要的不在于code,最关键的是思想;如果没有思想,coding就变成了一件体力活。算法与结果的重要性如此。
提到编程,作为刚进入大二的我,都能说出好几种编程用的语言,比如:C,C++,Java,除此之外还有很多,语言多种多样,但是语言之间真的有优劣么。作者为我们解答了这个问题,语言不分好坏,只是有不同的适用领域。有的适合做数据处理,有的适合做图形处理。所以说,没有最好的语言,只有最适合的语言。
在没有工程的时候,各个方面的大师都有,却唯独没有工程大师。工程大师到底是个什么,并没有明说,也不太理解,等到读到下面,应该会给到解释吧。
短短的几个小节,却道出了编程的真谛,此书简洁至此。果为经典,值得欣赏。