微信号:grzlwx

介绍:光荣之路官方资讯

《大道至简:软件工程实践者的思想》读后感

2015-09-20 23:31 光荣之路


不出所料,本书就像是题目一样,语言简练惊骇,而是以小故事的形式向读者讲述作者思想,读起来很有趣,不会感到索然无味。从愚公移山的故事中引出了编程的精义,让我们对编程又有了新的理解,有了更深刻的认识,原来古人都有了编程的思想,只是那时候没有计算机,要不然没准也是一个出色的程序猿,工程师。


  大道至简的第一章第一节就是编程的精义,文章开始就引用了愚公移山的寓言故事:我们看到了原始需求的产生:“惩山北之塞,出入之迂”,我们也看到了项目沟通的基本方式:“聚室而谋曰”,然后,我们看到愚公确定了一个项目的目标:“毕力平险,指通豫南,达于汉阴”,并通过研讨,择定了一个井然有序的、可以实现的技术方案:“扣石垦壤,箕畚运于渤海之尾”,在这个项目中,动用了三名技术人员和一名工程管理人员:“(愚公)率子孙荷担者三夫”,并获得了一名力量较弱,但满富工作激情的外协:“邻人京城氏之孀妻,有遗男,始龀,跳往助之”.......

  通过愚公移山这一件事,我们看到了项目沟通的基本方式;确定了一个项目的目标;择定一个井然有序的可以实现的技术方案;找到了可用人员;在愚公的论述中,我们看到了编程的根本:顺序、分支和循环。庞大若“愚公移山”这样的工程都是可以通过这种简单的编程来实现的。这就是编程的精义了。

  第二节,会或者不会写程序的问题。很多人包括我都觉得编程是一件特别无聊的特别枯燥的事情,而且在电脑前一坐就是一整天。有的时候甚至都怀疑自己是不是没有编程方面的天赋,是不是不适合编程。但是作者却提出了除了先天智障或后天懒惰者,都是可以学会写程序的理论:如果你能确信,自己知道在早上起床后需要:如果天冷则先穿衣服后洗漱,如果天热可反之,日复一日到死亡。那么你就可以开始编程了。甚至,如果你认为以下条件成立:如果有类似于生病、不能行动、以及意外的紧急事件,则当日可以略过。那么你就可以开始向设计师开始发展。因为你已经具备了一项常人不具备的基本素质:折衷。所以说编程序并不是想象中那么难,只要掌握编程精义就好。

  第三节,程序=算法+结构。这个公式很早就听说过了,但是一直不太理解,编程的第一要务是先把问题分析清楚,时间先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。积极工作和勤于思考都要占时间。在这个公式里,代码是不存在的,存在的只是思想。算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体,可见算法与数据结构比代码可重要跳多了,这也许就是上课老师总是让我们先考虑清楚问题的设计思想的重要性了吧!其次我们再去想如何实现,思想比代码远远的重要!

  第四节,语言。目前为止,我已经学习了C++,正在学习java语言,通过作者我明白了编程语言,其实都是相通的,只是有些许的不同。差别主要体现在适用范围上,一些语言适合做数据处理,小数点后可以精确到原子级,而小数点前则可以表达到宇宙之无穷;另一些语言则适合做图形处理,它的底层函数库比其它语言可以快上数倍或数十倍;还有一些语言则适合做网页,要用它来做一个通讯录软件都将是史无前例额的挑战。任何一门语言,都可以在两周内掌握并开始熟练编程。

  大道至简,悟在天成。编程还是需要不断地练习。

(作者:天天1015 来源:http://www.cnblogs.com/tiantain1015/p/4822192.html)


 
            
 
            
 
            
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           

一字一句当思来之不易,感谢作者,传播测试知识、技能与正能量!

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 看 Netflix 如何打造万亿级别的数据流水线 七牛伙伴大事记 | 彭麻麻全英演说美拍首发 12 个非常有用的 JavaScript Hacks [源码阅读] RACTuple 搭建数据驱动型Android架构