大道至简读后感
这本书很精炼———我的意思是作者在书里表达的思想深刻而浓厚,
篇幅短小但是充满了有意义的内容。
作者自己说过:坚持这本书就是这样的风格。
他坚持书就是这样薄薄的风格,要不然怎么叫《大道至简》呢?
遗憾的是,出版社对于传播深刻而有用的思想,更喜欢出厚书来获得更多的利益。
所以,他选择发布了电子书。
有的作者为了“厚而厚”,塞一些繁琐的内容,用滚车轱辘的话术来回解说,
这样他就能赚更多的钱。
但是周爱民没有选择这么做,他所作的就是将程序工程员的闪烁思想放进去。
这是从事十年开发工作的总结,虽然不厚,却闪烁着独立思考的光芒。
只要认真品尝,读者就可以理解这些思想,从而参照自身,获得更多收获。
我很敬佩作者,在这个天下攘攘皆为利往的社会,他保持了自身的清洁。
这是他给我的第一课——尽管我还没有翻开正文。
作者在文中使用的第一个例子:愚公移山,用它讲清楚了编程的精义。
任何的语言,都是以顺序,分支,循环为基础的。这就是编程的基本。
是的,编程就是把自己的想法变成计算机能够读懂的语言,从而进行执行。
因此,提前构思自己想要做的事,想要达成的效果,然后设计过程,转化成编程。
这是相当重要的,没有这种能力,那么就不是一个合格的程序员。
这是作者给我的第二课,认清编程的本质,并且要会把想法转化成编程语言,
“程序=算法+结构”
我对这个公式思考了很久很久,但依然有些朦胧。
也许这是对第二课思想的一个补充?
程序员使用语言的那些算法将他们进行排列组合,形成了结构。
于是一个程序就诞生了。
而对于语言,他们并没有好坏之分,只是各有所长各有虽短,
就像作者说的,争论语言的好坏是可悲的,
是什么推动了人类科技水平的发展呢?
勤劳?不不不,不可能的,勤劳适合建设,但做不到推动。
智慧?有点关系,但不够全面,他们差一个引导。
答案其实是懒惰。是懒人造就了方法。
李冰的摸鱼偷懒让他获得了方法,成功凿了一座山。
他在摸鱼的时候炒了锅菜,结果发现了鹅卵石被烧裂。
于是他就真的用火烧了山。
愚公怎么会想到这种方法呢,他只是一遍又一遍执行他们的挖山程序,
愚公每天累的气喘吁吁,结果人家风轻云淡的用火破了山。
高下立判,勤劳不能想出新办法,更何况愚公没有智慧,
而有智慧也爱摸鱼的李冰就抓住灵感提出了新办法。
是的,两个程序都能达成效果,但一个有着精力的极限,一个就没什么事了。
同样的,编程语言的不断升级也是懒人们为了更方便更好用而做出的升级。
看着作者对于以前的编程语言和程序员的描述,我有点震撼。
一方面感叹之前编程的不容易,一方面感叹现在编程的准备工作有多容易。
总之,感谢懒人前辈们做出的贡献。
另外,我尽力了,我看不懂作者和他朋友两个大佬的对话......
团队缺乏的不只是管理,我看了这节后感觉比较的震撼。
做好一个合适的管理里面有很多很多的门道。
而一个合适的管理对上对下都有很大很大的作用。
这章的内容我一知半解,所以写不出什么感悟了。
程序员和客户的交流是极其困难的。
这些和计算机交流的语言显然不能作为人之间的交流语言。
更何况客户又为什么要学编程语言呢?
又是项目经理进场来处理这些事了,真是伟大啊。
不过,我也不懂什么UML......
所以,我大概也像那个客户一样,对现在的内容感到迷茫。
书里提出了我们其实不必追求于UML,这个所谓的世界级的模型语言。
这个世界级是程序员的,并不是客户的。
所以在为客户讲解时,我们得暂时“降维”成为普通人,然后用普通人的语言讲。
好,又是伟大的项目经理进场了,他可真忙啊。
所以,以这个为基础,作者给出了交流的方法。
接下来就是程序员之间的交流了。
写代码时不写注释的行为可是相当危险的。
不仅别人接手代码后毫无头绪,自己写了几天后回来再看也忘了个干净。
另外,写history是更好的事情,它和注释并不一样。
代码中的注释是为阅读代码而留备的,而 History 是为整个项目而记录的。
这会方便后来的人了解这个项目,然后很快的上手。
软件工程有一个很著名的瀑布模型,这个模型展示了工程的完成过程。
但现实是,大家都是来走个过场。他们是为了做工程而做工程的。
做过程并不是做工程的精义,也不是目的。
实现,才是目的。
同样的,过程不是死模型。
v字模型实实在在的改变的自身的本源,尽管它依然脱胎于瀑布模型。
这个模型针对了日本的情况发挥了效应,那么,
我们为什么不做创新呢?
工程不是做的,是组织的。
协调成员各司其职,是正确的完成工程的选择。
软件工程在上个世纪60年代被提出了重要概念,
而作者在一次讲座中也突然明白了软件工程概念和重要性。
IBM很好的把握住了机遇,它选择了JAVA,并且靠它获得了巨大成功,
Borland也不甘示弱,就这么开启了商战,也许叫编程语言战。
无论如何,我们先不看战争的过程吧。中间甚至有微软插了一脚,让战争更大了。
大道至简这本书里面很多专业的术语对于一个还没开始大二的学生还是挺费解的,不过,书中给出的一些思想确实是重要和有启示的。对于我来说,这本书为我叩开了软件工程的大门,让我得以一窥。
说实话,我在大一的时候基本没怎么好好正式的写过程序,有一部分的原因是面对着编程界面有种无从下手的迷茫感。这本书告诉我要明白自己要写的程序的功能和运作过程,这样我才能写出自己的程序。再然后就是对于程序算法的优化之类的事情了。我想软件工程会更加注重这种事先思考的过程,要先有一个程序运作的流程图然后再去写程序。这样才不会重蹈覆辙。

浙公网安备 33010602011771号