大道至简第六章--从编程到工程
这一章主要是弄清语言的意义,工作中方方面面的偏重向。
一:语言只是工具
我在学习的编程时候,不时认为这东西跟数学一个样,记一些死公式,然后套用,用一些巧妙的方法,解决的一些问题。在解决问题的过程中,能发现解决的方法多如牛毛,同语言一样,同一种意思能用不同的方法说。某种程度上,说明编程语言能创生出各式各样的东西来,灵活性很高。
作者接触了各种编程工具,当我看到作者所说“痛恨C++”,又在其后添上:成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。我些许明白一些东西了,结合主题:语言只是工具。那么,我应该理性看待这个东西了。工具的不同,功用也不同,在某一问题上,所用编程的复杂性有所不同,不能说那个编程工具不好,只是不适合解决这一问题罢了。那么,所用工具的人,灵活就够了。
二:方法的诞生
编程行为初始,肯定是心里想着问题,然后一步步摸索前进,去达到目的。当问题解决多了,有一些重复的过程,那个时候,才有了一个方法这样的意识。方法,就好像一个复杂或简单的机械盒子,从入口放一个东西,从出口就出来另一个东西。
方法需要我们去理解,需要我们用学习过程的编程经验去创生另一种感觉,一种刻在心里的模式,知晓什么问题,怎么去解决。
三:过程的面对
过程伴生工程而出现,过程解决的是工程中角色间的关系问题。
整个大道至简中,处理工程中角色间的关系,这一类型的问题提及很多。说明这个问题很重要。暴雪开发的游戏总是跳票,它从来把玩家测试和开发人员的个性特征放在第一位,尤其注重游戏品质和玩家体验,和开发游戏过程中的顺利及创生出来的新颖点子(这就是为什么注重开发人员的感觉了),最后出来优秀的作品,成就神话。
然而情况不同,也就不能固用模式。
客户向公司提出要求,那么公司就要实现要求,客户所关注的是实现,而非开发者去完美它,客户会应为项目的一再延迟而懊恼或愤怒。所以处理这些关系,必须要考虑周全,顾虑环境。
四:上帝之手
从最初的简单编程开始,到现在工程团队的组织开发,实现(一个软件)都是最终的目的。实现,是软件开发的本质需求。
编程之前,得有个目的,才能有方向地进行。现在技术的发展和成熟,我们能够看到很多研究方法的课训。纵观整个编程的发展历程,都是先结果,后过程,再结果。也就是说,我们先实现了目的,再反观所做的编程代码,发现这个方法以后可以再用,再去研究,然后创生另外一些结果。就让我想到了,以前的各类科学家,都是先发现结果,根据数据结果,再逆推公式。而后人直接学公式,再去得出数据结果。
所思所想,创意无限。