《大道至简》第一章读后感
2015-09-21 06:54
274 查看
“大道至简”是大道理(指基本原理、方法和规律)是极其简单的,简单到一两句话就能说明白。所谓“真传一句话,假传万卷书”。
一门技术一门学问,弄得很深奥是因为没有看穿实质,搞的很复杂是因为没有抓住程序的关键。在搏击较量中,出招过多就是多余无效的招数太多,有效的招数少;医生开的药方越多,就越是把握和好方法,用那些判断不准的药来试。博大精深就是没有认清实质、没有抓住关键,反而陶醉在自我制造的纷繁复杂中不能自拔。
武术高手在搏击时总是一招制敌,击中要害,绝对不会大战300回合才击倒对手;
高明的医生总是一针见血,药到病除,绝对不会开乱七八糟的药物骗钱;
精明的商人一招领先,步步领先;高人指点一语道破天机,不用太多言语……
以上是对”大道至简“的充分解释。 作者写此书的目的也是这样,想通过简明扼要的语言来阐述软件开发中的问题。书页码不多,所以可以很快读完,但不代表你能很快领会书中的内容。作者是经验的总结,而我们没有这些经验,就只能当做一种借鉴。
通常,如果一件事情正确,那它就是正确的,无论你的分析过程如何,结论也“不过如此”。所以你应该把结论放在文档的前边,把指导性的原则放在更前边,把事件的前因与目标以概要的形式放在最前边。一个聪明人只需要200字就可以说完的一件事,同样另一个聪明人也只需要这200字就能理解。
对于一件事来说,起因、目标、结论和原则都已经确定了,生下来的过程控制还需要“聚室而谋”吗?
你熟悉了一门语言之后,你会发现,编程语言只有喜欢与不喜欢的问题,没有会不会的问题。任何的一门语言,你都可以在两周内掌握并开始熟练编程。因为任何的一门语言,他们的底层函数库都是那么的相似,而他们API 都是那样的依赖于操作系统。A 语言里有的,B 语言里也基本都有。通常而言,语言的差别主要表现在适用范围上。一些语言适合做数值处理,小数点后可以精确到原子级,而小数点前则可以表达到宇宙之无穷;另一些语言则适合做图形处理,它的底层函数库比其它语言可以快上十倍或数十倍;还有一些语言则适合于做网页,要用它来做一个通讯薄软件都将是史无前人的挑战。 成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。不但是悲其一叶障目,更要悲叹于那种大愚若智的自得心态。
你仔细看看,在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。简单若顺序表,复杂如树、图,它们的算法都是用上面这三种执行逻辑来描述的。
我能领悟书中的一些东西,有些东西也不能领悟,但书值得一读,不知道你能领悟多少?
一门技术一门学问,弄得很深奥是因为没有看穿实质,搞的很复杂是因为没有抓住程序的关键。在搏击较量中,出招过多就是多余无效的招数太多,有效的招数少;医生开的药方越多,就越是把握和好方法,用那些判断不准的药来试。博大精深就是没有认清实质、没有抓住关键,反而陶醉在自我制造的纷繁复杂中不能自拔。
武术高手在搏击时总是一招制敌,击中要害,绝对不会大战300回合才击倒对手;
高明的医生总是一针见血,药到病除,绝对不会开乱七八糟的药物骗钱;
精明的商人一招领先,步步领先;高人指点一语道破天机,不用太多言语……
以上是对”大道至简“的充分解释。 作者写此书的目的也是这样,想通过简明扼要的语言来阐述软件开发中的问题。书页码不多,所以可以很快读完,但不代表你能很快领会书中的内容。作者是经验的总结,而我们没有这些经验,就只能当做一种借鉴。
通常,如果一件事情正确,那它就是正确的,无论你的分析过程如何,结论也“不过如此”。所以你应该把结论放在文档的前边,把指导性的原则放在更前边,把事件的前因与目标以概要的形式放在最前边。一个聪明人只需要200字就可以说完的一件事,同样另一个聪明人也只需要这200字就能理解。
对于一件事来说,起因、目标、结论和原则都已经确定了,生下来的过程控制还需要“聚室而谋”吗?
你熟悉了一门语言之后,你会发现,编程语言只有喜欢与不喜欢的问题,没有会不会的问题。任何的一门语言,你都可以在两周内掌握并开始熟练编程。因为任何的一门语言,他们的底层函数库都是那么的相似,而他们API 都是那样的依赖于操作系统。A 语言里有的,B 语言里也基本都有。通常而言,语言的差别主要表现在适用范围上。一些语言适合做数值处理,小数点后可以精确到原子级,而小数点前则可以表达到宇宙之无穷;另一些语言则适合做图形处理,它的底层函数库比其它语言可以快上十倍或数十倍;还有一些语言则适合于做网页,要用它来做一个通讯薄软件都将是史无前人的挑战。 成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。不但是悲其一叶障目,更要悲叹于那种大愚若智的自得心态。
你仔细看看,在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。简单若顺序表,复杂如树、图,它们的算法都是用上面这三种执行逻辑来描述的。
我能领悟书中的一些东西,有些东西也不能领悟,但书值得一读,不知道你能领悟多少?
相关文章推荐
- 当前项目中,linux下memcached的启动/结束的方式
- CUDPP基本执行过程分析
- viewpager不显示
- 写几十行代码,来一场无鼠标编程之旅,看看who is e———(HTML5:HBuilder5.0.0)
- 在win7系统的电脑上安装CentOS7双系统
- 2015年9月14日--9月20日(30小时,剩3485小时)
- UIPercentDrivenInteractiveTransition Controller交互式转场切换动画
- 新的开始
- android给未签名的apk签名
- C++类的const, static 和inline成员函数(变量)
- 如何获取帮助———— QQ群讨论摘要
- Best Time to Buy and Sell Stock II 解答
- 【软剑攻城队】团队介绍发布!
- 内核随记(一)——理解中断(2)
- [LeetCode]Different Ways to Add Parentheses
- 人类是否能够接受人工智能(AI)的存在?
- php 参数传递
- 内核随记(一)——理解中断(1)
- LeetCode Reverse Words in a String
- LeetCode Simplify Path