大道至简—实践工程者的编程思想
提到编程,很多人都会发怵,是一门高难度的工作,当然我也不例外,这可以说是没有清楚地认知编程其中包含的思想,还没有真正地入门。程序是什么?是要写的一大堆复杂的代码?是熬夜通宵也弄不出来的东西?其实,就我而言,我认为程序的根本在于思想,只有想明白了才能写出来,想不明白自然就写不出来,正如《大道至简》这本书所写的,要把东西简化,这样使人才能一目了然。
愚公移山都不陌生,其实从这中间可以提炼出有关项目的实际执行,这其中有原始的需求:“惩山北之塞,出入之迂也”;
项目沟通的基本方式:“聚室而谋曰”;
项目目标:“毕力平险,指通豫南,达于汉阴”;
技术方案:“扣石垦壤,箕畚运于渤海之尾”;
参与项目人员:
三名技术人员和一名工程管理人员:(愚公)率子孙荷担者三夫;
外协一名:邻人京城氏之孀妻,有遗男,始龀,跳往助之。
实现方案:
“虽我之死,有子存焉”,这里描述了可能存在的分支结构,即“IF”条件判断。
子又生孙,孙又生子;……子子孙孙,无穷匮也”,这里描述了完成这个工程所必须的循环结构。
愚公论述了这个循环的可行性:由于“山不加增”,所以条件“山平”必将成立(“何苦而不平”),所以这不会是一个死循环。
编程的根本:顺序、分支和循环,编程的精义在于此。通过愚公移山的例子,说明可以把一件工程从需求到结果理清,这样庞大的工程就不难完成了。
对于一提到编程就头痛的人,其实不是不会编程,大家的水平基本都差不多,智商也不低,先天没有毛病的人,只是看你后天努不努力,会不会学习,懂得学习的人往往比不会的人事半功倍,只要想学,会学,多多锻炼自己的逻辑能力,就能编出好程序,不会编程的人,逻辑这方面弱一些,并不是不行,需要加强锻炼。
程序=算法+结构;这句话从我上第一次课一直听到现在,这其中并没有提到程序,只是提到了思想。磨刀不误砍柴工,先想好怎么去干比一拿到任务埋头苦干强的多,效率有可能事半功倍。自学能力也是需要掌握的重要技能,时代不断在变化,尤其是与计算机有关的行业,要想不被时代所甩下,就需要不断地学习,对于语言来说也是这样,自学能力强的人掌握语言的速度会更快一些。
相比于过去的时代,现在的科技技术发展迅猛,能力强的人才能风声水起,如鱼得水,自学能力,人际交往能力,编程也是如此,一个人要想完成一项工程,团队协作能力也是必不可少的,并不是简单地敲代码,也需要别的方面能力够硬。