《大道至简》第一章读后感

  在老师的推荐下,我开始阅读了《大道至简--软件工程实践者的思想》这本书。在阅读这本书之前,我查了一下大道至简的意思。大道至简是大道理(指基本原理、方法和规律)是极其简单的,简单到一两句话就能说明白。所谓“真传一句话,假传万卷书”。 大道至简的反面是博大精深,博大精深是广博和高深,多用来指思想、学术理论、学识、作品等。
 一门技术一门学问,弄得很深奥是因为没有看穿实质,搞的很复杂是因为没有抓住程序的关键。在搏击较量中,出招过多就是多余无效的招数太多,有效的招数少;医生开的药方越多,就越是把握和好方法,用那些判断不准的药来试。博大精深就是没有认清实质、没有抓住关键,反而陶醉在自我制造的纷繁复杂中不能自拔。在看完解释之后,我的内心产生了既困惑又明朗的感觉。不觉便拿起书看了起来。
   首先,第一章的名称叫做编程的精义。看到之后很感兴趣。作为 一个学软件编程的人来说,它的精义是我们非常想知道的。谁知,进入
正文后,首先出现的并不是程序之类的语言,而是《列子 汤问篇》中的《愚公移山》。看到之后,我突然感觉自己是不是拿错书了。仔细一看,原来作者是想通过这篇文章来讲述本章的主题。编程就像是愚公移山一样。首先,愚公就像是一名项目组织者,编程人员一样,确定了一个项目的目标并实施。而且,“惩山北之塞,出入之迂”就像我们的项目需求,“聚室而谋”就像是项目沟通。而项目目标就好比是愚公的目的。他们通过讨论,选择了一个井然有序的方案“叩(kòu)石垦壤,箕畚(jī běn)运于渤海之尾”。并且在这个项目中,动用了三名技术人员和一名工程管理人员:“叩(kòu)石垦壤,箕畚(jī běn)运于渤海之尾”并有一名力量较弱弱的外协人员“邻人京城氏之孀(shuāng)妻有遗男,始龀(chèn),跳往助之。寒暑易节,始一反焉。”。而在愚公与智叟的问答中,我们又看到了工程的实现程序“虽我之死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙;子子孙孙无穷匮(kuì)也,而山不加增,何苦而不平”。
   作者新颖而有趣的类比,使我们在愚公移山中,竟找到了工程概况与编程的影子。后来作者通过在愚公的论述中,告诉了我们编程的根本:顺序,分支与循环。通过阅读这一小结,我若有所思。作者如此的引经据典辛苦类比,实际上是想告诉我们,一个项目工程的实施并无想象中那么困难。两千年前的愚公都能想到,何况是我们现代人呢?因此,作者也通过如此简单的例子告诉了我们工程的精义,那就是顺序,分支和循环。这就是大道至简。
    接下来,作者开始提到了另一个问题:会或者不会写程序的问题。作者提到,他经常被问到“我能不能学会写程序”这样的问题。在提到这个问题之后,作者并没有直接回答,而是说明了几个问题。比如如果你知道自己在早上起床后需要:如果天冷则先穿衣服后洗漱,如果天热则反之,日复一日直到死亡,那么你就具备编程的资格。如果有类似于生病等紧急的事则可略过,那么你就可以向设计师发展。作者又通过简单的事例告诉我们,只要我们不是先天智障或后天懒惰,我们每个人都能学会编程。因此,学编程不是会与不会的问题,而是喜欢不喜欢的问题。
    “程序=算法+结构”忽然看到这一节,我心里有了一种很熟悉的感觉。在过去的一年里,我们的c++老师经常跟我们提到这个公式。可见此公式的重要性。作者提到,所谓编程,实际上是把一件事交给计算机去做。你认为这件事该怎么做,就用程序语言去描述给计算机。所以编程前先把逻辑关系和依赖关系搞清楚,然后打代码。从公式上看并没有任何代码,说明编程时最重要是将算法设计出来然后将结构描述出来,这样一来,程序自然就写出来了。
     接下来作者提到了关于编程语言的问题。作者说到,各种语言其实是类似的,差别主要在适用范围上。一些语言适合做数值处理,一些语言适合做图形处理,还有一些适合做网页。作者告诉我们,不要讨论各种语言的好坏,那是可悲的。从书中,我明白了,任何语言都有其价值,不能洋洋得意,一叶障目。
     最后,作者提到了在没有工程的时代,是蛮荒而又远古的。因此,工程是非常重要的。总之,回顾作者的这一章内容,我学到了很多,也明白了很多道理。我因此相信,在编程的路上,只要我足够努力,就一定能成为一个成功的编程人员。

posted @ 2015-09-18 22:24  sunmei  阅读(145)  评论(0编辑  收藏  举报