大道至简第6章读后感
大道至简第六章读后感——从编程到工程
做为大二的我们,现在还处在编程的阶段,我们也曾经象大多数的开发人员一样热衷于争论语言之间孰优孰劣。,当我们真正的走向社会,走向公司,我们才能够感受到我们学习软件的不应该仅仅的是编程,更加重要的是工程。
在我们走向社会的时候,我们应该懂得我们只有更加的了解工程,我们才能够真正的作为一个程序员,或者可以以程序员自命的人来说,看清楚这一切的第一步,应该是一句“语言只是工具”! 在我们的软件开发的过程中,有这样的一句话:“程序=算法 +结构”。这是编程的本源定义,也是原始的状态。与代码相关的任何工作,最终仍旧会落足于这样的一条规则。 编程的精义于此。从有开发行为开始,它就已经存在了。这就更加说明了这句话的重要性, 愚公在数千年前就在用类同的行为做编程实践,而几十万年前智人,也在循环与分支所构成的逻辑中打转。所以,我们应该学会能够好好地了解软件,懂得软件的精艺所在,我们只有寻求更好的方法,才能成功,但是方法是长期的编程实践,自然的归演与总结,于是“过程”出现了,于是“对象”出现了,于是相关的方法论也就出现了。 这是实践的成果。方法不是某个人或者某个组织创造的。瓜熟而蒂落,实践积累达到一定的程度,微软不提出 某个方法,IBM 也会提出这个方法。即便他们都不提出, 可能你自己已经在使用这个方法了。 方法并不神秘,因为它就是你今天正在做的、从事的和实现的。正如“模式”是一种方法,而模式就是你昨天书写代码的那个行为。只不过,GoF 归纳、抽取、提升了 这些行为的内在规律。 过程伴生工程而出现。过程解决的是工程中角色间的关系问题。 过程说的是很多的人(团队)如何组织在一起进行开发的问题。它首先把工程中的环节分解出来。这样,有了 环节,就有了角色;有了角色,就有了沟通。 因此过程中的问题,就是角色、沟通和环节的问题。 从最初的简单编程开始,到现在工程团队的组织开 发,实现(一个软件)都是最终的目的。所以可以这样说: 实现,是软件开发的本质需求因而实现方法总是最先出现,而后才有分析和设计方法。团队必将越来越庞大,因为(与工程对应的)软件规模 必将越来越复杂。没有团队意识的软件公司将在高度过程 化、通晓方法理论、拥有大量工具的集团军面前必将一触即溃。所以,我们要真正的懂得工程的含义,我们才能够做到百战百胜。
所以,对于我们来说,现在我们应该最先做的就是了解工程的编程的定义,区分他们之间的关系,做到心中有数,使得自己能够在软件的开发之路上闯出一片天地。