读《大道至简》第六章有感——从编程到工程

语言只是工具,在学习编程的过程中,我们不断接触多种多样的语言,学习并且运用它们。我们会因为无法精通某种语言而着急,而担忧,当然也会因为对某种语言的了解而兴奋,而激动。但逐渐的,我们忘记了学习语言的最终目的,编程和工程不同,我们可能在编程中用不同方法解决问题,可能因为哪种方法的更巧妙或者技术方面的问题和自己的伙伴产生矛盾,产生争论。这样的争论在学习研究过程中是件好事,多学术的进步有着帮助,但是在工程中就不同了,工程的进行可能会因为这样的争论而拖延工期,最后可能并没有什么改变还拉长了工程时间。作为一个软件工程学者,对语言运用的要求高是一件好事,但当我们成为一个工程师,解决问题,实现工程才是目的,运用的语言只是我们的工具,怎么样能更快更好的解决问题才是我们考虑的问题,而语言运用技术上的问题不再是关键。

程序=算法+结构,这是编程的精义,从有开发行为开始它就存在了,就像愚公,他在“移山”的时候,也用了类同的行为做编程实践,而这么多年来,我们也是在循环与分支所构成的逻辑中打转。

推动这种逻辑向前发展的“方法”和“方法论”的出现,长期的编程实践实践,通过自然的归演与总结,于是“过程”出现了,于是“对象”出现了,于是相关的方法方法论也出现了。方法不是创造出来的,是一代又一代的工程师在实现工程的过程中慢慢积累出来的。“模式”也是一种方法,就是你在昨天的编程中书写代码的行为。

模式的理解需要编程经验,同样,过程和对象的理解也需要编程经验,经验的来源不会在你将要书写的下一行代码中,而是在你对回顾上一行代码或者上一个过程的思考过程中。

过程,伴随工程而出现,将工程分解了不同的环节,有了环节,就有了角色,同样也就有了沟通。在实现过程的过程中最重要的就是角色与角色之间的沟通与环节问题,所以合作是过程最需要也是必不可少的东西。

最后说到工程,最狭义的工程就是描述“做什么”和“做到什么”,其实工程就是对目标的描述和成果的检测,至于工程目标的实现,就是“过程”和“方法”的事了,而快速有效的实现“过程”和“方法”就是用到最直接效率的“工具”,也就是我们现在学习的“语言”。

工程的实现需要的不仅仅是技术人员,还有的就是任何一个项目都需要的项目经理,来统筹安排这样一个工程。也就是说工程的实现需要组织,作为管理方保证工程的进行,其实也就是一个完整的团队。

所以,工程的实现,从最小的使用工具,到整个做工程的团队,由小到大,各有所用。

时间: 2024-10-04 08:37:18

读《大道至简》第六章有感——从编程到工程的相关文章

读大道至简第六章有感

本章的题目是从编程到过程,刚开始讲到语言只是工具,学会制作和使用工具才是最重要的,当一些编程人员天天为了用哪种语言好以及评论各种语言的优缺点,此时便会被工具所累,忘记了做工程的目的. 第二部分讲到了程序,程序=算法+结构,这是大一时期c++老师每次上课必说的一句话,这是编程的本源定义,也是原始的状态.与代码相关的任何工作,最终仍旧会落足于这样的一条规则,编程的精义于此,从有开发行为开始,他就存在了. 第三部分讲了方法,很多时候程序员拿到一个项目或者是我们拿到一个题目,不是先去阅读他找到方法,而是

再读大道至简第六章

大道之简临近了尾声,作者也开始了“与前文相呼应”,第六章的内容大部分建立在前面五章的基础之上,对相关的名词进行了进一步的阐释,理解,对有关的概念进行了扩充. 一开始说了,语言只是工具,这几乎与第一章的内容相呼应,不讲JAVA/C/C++等等语言的好坏,只是把他们放在工具的层面来说.没有对语言的膜拜也没有对语言的漠视.语言再不同,只是工具不同,适用于不同的环境.就像是犁地不需要铲子,扫地需要扫把一样的.笔者借由各种语言只是工具来引出了,那张幻灯片.看清代码.方法.工程.组织的关系. 在代码.方法.

读大道至简第四章有感

第四章题目为流于形式的沟通,顾名思义说的就是我们的沟通只是表面工作,没有深入,也就不会对工作有什么实质性的帮助.但是这个沟通值得是谁与谁之间的沟通呢,没错,就是我们与客户之间的沟通.程序员与计算机之间可以用C语言,java进行沟通但是客户不一定会这些我们也不能要求客户会这些,所以学好基本的编程语言是基础,学会与客户用汉语进行深刻的沟通,并且把这些沟通的内容转化为编程的需求.这是对一个程序员的客观要求. 然而就像书中所说,有的客户会聘用一个专家组来与程序员进行沟通,这时候专业知识就可以很好的应用,

读大道至简第三章有感

第三章的标题是 团队缺乏的不只是管理,作者以”言三人为众,虽难尽继,取其功尤高者一人继之於名为众矣.“这段<汉书>中的话来引出了团队的概念. 第一节的标题是三个人的团队,”言三人为众“团队至少是以三个人为规模的,如此便具备了团队的基本特性:主从.监督和责任.”取其功尤高者一人继之,於名为众“就是功高者代替群体受功,其意思就是功劳大的.能力强的便成了团队中的领导角色.做管理不仅要功劳大,做管理最基本的素质是要能承担责任.当项目失败后,要有乘受去.相应责任的能力. 第二节标题为”做项目=死亡游戏?

读大道至简第五章有感

该章开篇第一个部分写的是做过程不是做工程,主要介绍了软件工程的创立及成熟的标志.其成熟的标志是软件工程的瀑布模型的提出.瀑布模型将软件开发的过程分成需求,分析,设计,开发和测试等五个主要阶段.在瀑布模型之后很多人开始研究过程模型的问题.这也是很多问题出现的源头.很多人认为只要把工程按照瀑布模型做,做完过程的每一个阶段, 虽然很多模型是值得称道的例如RAD(快速应用开发)模型,螺旋模型和现在常被提及的RUP模型,但是做过程不是做工程,模型就是样子我们可以根据好的模型来确立以后要做的工程的步骤以及思

大道至简第六章

今天看了看大道至简第六章<从编程到工程>.文章以<列子·说符>的“得其精而忘其粗,在其内而忘其外:见其所见,不见其所不见,视其所视,而遗其所不视.”为题记.第一节讲了“语言只是工具”,作者讲述了他曾经对一些编程语言的看法.他曾经也热衷于讨论语言的优劣,但是他现在不这样了,他已经不再专注于语言, 正如他在第一章中写到的一样:成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的.确实,程序的好坏不在于语言,在于算法.第二节 说点什么呢,今天看了看大道至简第六章<从编程到工程>

大道至简 第六章 读后感

说点什么呢,今天看了看大道至简第六章<从编程到工程>. 文章以<列子·说符>的“得其精而忘其粗,在其内而忘其外:见其所见,不见其所不见,视其所视,而遗其所不视.”为题记.第一节讲了“语言只是工具”,作者讲述了他曾经对一些编程语言的看法.他曾经也热衷于讨论语言的优劣,但是他现在不这样了,他已经不再专注于语言, 正如他在第一章中写到的一样:成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的.确实,程序的好坏不在于语言,在于算法. 第二节又写了“程序”,程序=算法+结构,编程的精义于此

大道至简 第六章

大道至简 第六章的主题是从编程到工程:很多编程的初学者往往只专注于变成本身 也就是语言 ,然而语言只是工具,有了语言,才有之后的程序,是“程序=算法 +结构”.这是编程的本源定义,也是原始的状态.与代 码相关的任何工作,最终仍旧会落足于这样的一条规则. 编程的精义于此.从有开发行为开始,它就存在了. 愚公在数千年前就在用类同的行为做编程实践,而几十万 年前智人,也在循环与分支所构成的逻辑中打转. 再然后有了程序,方法也就出来了,推动这种逻辑向前发展的,是“方法”和“方法论” 的出现.长期的编程实

一切都是为了实现-大道至简第六章读后感

大道至简第六章的内容比较多,也比较深.或者说这一章作者是从一个更高的层次.更开阔的视野.更独特的角度来解读软件工程这四个字的具体含义的. 作者的这些肺腑之言都是作者在软件行业工作了多年之后总结出来的.开发技术对一个软件产品质量的好坏和最终的成功的影响并虽然不能说是一点也没有,但也不是很大.真正起到决定性因素的不是那些技术细节,而是一个高度过程化.通晓方法论.拥有大量工具的开发团队或者是开发公司.在这个团队里面,无论是对项目经理还是开发经理甚至是一个普通的开发人员的要求都是很高的.团队内的每个人必