zoukankan      html  css  js  c++  java
  • 大道至简:软件工程实践者的思想 读后感

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

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

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

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

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

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

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

  • 相关阅读:
    mongoid和date_select的交道 小青年
    content_for对应的yield 小青年
    sunspot solr 小青年
    rails中validates及各种方法 小青年
    Rake: wrong number of arguments (3 for 2) 小青年
    nginx + nginxgridfs 安装方法 小青年
    gem install mysql2的时候出现的错误 小青年
    Rails Date Formats strftime 小青年
    redis 安装 小青年
    Uninstall all ruby gems 小青年
  • 原文地址:https://www.cnblogs.com/tiantain1015/p/4822192.html
Copyright © 2011-2022 走看看