从编程到工程

平时学习中总会听见有人说语言学习的多么的好,像java,C,C++等。然而我们的目光不应该拘于选择什么语言上,真正能学好一门语言或者能利用一门语言按照自己的设想与去编出满意的软件是我们的追求,并不是懂语言就可以的。作者以他的经验告诉我们,成天讨论语言好坏的人是可悲的,因为语言并没有好坏之分,只有找到合适项目的语言才是王道。我们应该明白“软件工程”这四个字,以及代码、方法、过程、工程与组织的关系的第一步是知道“语言只是一门工具”。“猿之于为人”是学会了制作和使用工具。

在初学C++的时候,老师首先告诉我们的是,编程的精义在于:程序=算法+结构。与代码的相关任何工作都,最终都归根于这句话。从有开发行为开始,它就存在了。愚公在数千年前就用类同的行为进行编程实践,而几万年前的的智人,也在循环和分支所构成的逻辑中打转。

推动逻辑向前发展的是“方法”和“方法论”的出现。长期的编程实践,自然的归演和总结,必须沉淀为某种方法,于是“过程”出现了,“对象”也出现了,于是相关的方法论也出现了。这是实践的结果,方法并不是创造的而是在实践中总结的,方法并不是一成不变的,而是不断地进行改进。经验来源于回顾、理解和分析。而不是你将写下的代码。因此为了更好地懂得编程,我们重要的是花时间去回顾自己的错误代码,进行总结和更好地理解。

编程要经过过程,过程伴随着工程而出现,过程解决的是工程中角色之间的关系问题。过程是团队如何组织在一起进行开发的问题。它首先把工程之间的环节分解出来。有了环节就有了角色:有了角色就有了沟通。而提到过程我们就应该想到工程,过程是伴随着工程而出现的,过程解决的是工程中角色的关系问题。然而,工程理论其实是包含组织学的。所以,组织也是做工程过程中的很重要的,并要考虑好各种问题。

BOSS是公司的经营者,决定着一个方向,组织者保证决策与这个方向同步的,而工程是在这样的一个方向、决策的构架下的一个具体行为,工程中没有BOSS。

实现是软件开发的本质要求。从最初简单的编程开始,到现在工程团队的组织开发,实现都是最初的目的。有了这个目标,才会有人去创造模型,总结方法,开发语言。我们看到,正是出于实现的需求。我们才设计了一些数据结构和逻辑结构来映射物理模型。因此类似于工程、单元、记录、对象等的出现,其实都是出于编程实现的需要,因此实现方法总是最先出现的,而后才有分析和设计程序=算法+结构过程和单元的出现记录与对象的出现方法。

时间: 2024-10-15 22:21:10

从编程到工程的相关文章

读《大道至简》之从编程到工程

读<大道至简>第六章之从编程到工程 “得其精而忘其粗,在其内而忘其外:见其所见,不见其所不见,视其所视,而遗其所不视.” -------<列子·说符> 上文是取自秦穆公与伯乐之间关于九方皋相马的对话,直译是,天地间的奥妙:得到了它的精微,而放弃了它的粗略,省察它的内部而忘却其表象,看见了他所应当看见的地方,而没有看见他不必看见的地方,考察了他所应当考察的地方,抛弃了他所不必考察的地方.这则故事教给我们一个道理:认识一件事物就要像九方皋相马一样,避开纷繁复杂的表象的迷惑,先抓住事物最

大道至简读后感---从编程到工程

从编程到工程 语言只是一种工具.在人们的认知中,语言就是一种工具,他是思维的工具,是交际的工具,语言的工具性价值已经得到了人们的广泛认可和普遍使用.对于一个程序员,或者以程序员自居的人来说看清楚一切的第一步只是“语言只是工具”! “程序 = 算法 + 结构”.这是编程的本源定义,也是原始的状态.与代码相关的任何工作,最终仍然会落足于这样的一条规则.编程的精义在于此,从有开发行为开始,他就存在了.愚公在数千年前就用雷同的行为做编程实践了,而几十万年前智人也在循环和分支所构成的逻辑中打转. 所谓的方

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

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

编程到工程的精髓

列子有云:“得其精而忘其粗,在其内而忘其外:见其所见,不见其所不见,视其所使,而遗其所不视.”从编程到工程,我们需要很大的转换.找准目标和方向,取其精华,在一起内在的精华,我们才会明白编程其实就是做工程的基础. 语言知只是工具.从大一到大二,C语言机面向对象程序设计是大一时候学的一门基础课程,此外正在学的java语言,还有.NET语言,都是计算机专业最基础的语言.每一门语言,都需要掌握它的 精髓,只有明白了语言的精髓——就是特点,我们就能很轻松的进行编程.因为每一段代码,你要先读懂.读通它的意思

大道至简:软件工程实践者的思想——第六章感想 从编程到工程

从编程到工程 语言只是工具 语言对于一个从事IT相关行业的程序员.技术人员来说,语言仅仅只是工具,从事IT相关行业的人来说,看清楚大的程序来说这一切的开始,就是源于“语言只是工具”! 猿之于为人,“学会制作和使用工具”是最重要的标志,所以从事IT相关行业的我们也被业外的人称为程序猿,当然这里更多的是读音有点相似.因而我不知道“语言只是工具”这句话,究竟是对语言的膜拜,还是漠视.  然而从那一刻开始,我才真正地知道工程.我们学过的吃.#c++\还有现在所学的java,可能有些人说这是几门技术课程,

从编程到工程(由于服务器问题不能提交,联系管理员解决提交)

正如<列子·说符>中所讲的“得其精而忘其粗,在其内而忘其外:见其所见,不见其所不见,视其所视,而遗其所不视.我们往往处于“不识庐山真面目,只缘身在此山中”的地步.学习软件工程之初,我们只能被称作普通的编程者.事实上或许每个编程者都有自己喜欢的一种语言,或C和C++,或java,又或C#.有的人或许会吹捧自己所选的语言多么强大,但从根本上来讲,语言其实只是一种工具,它是我们与计算机交流的一种途径.这和我们所讲的语言其实完全相同,不管你是讲汉语,英语还是俄语甚至是阿拉伯语,只要别人听得懂,结果其实

大道至简第六章-从编程到工程

语言的是诞生是方便人们交流沟通,是为了人们能理解你所想的东西,你所要做的事情,正如英语,汉语,拉丁语等等语言,这些语言都是为了让人们能够很好地与对方交流沟通,你能说哪种语言更好哪种更差么,语言只是一种工具,能达到目的,就足够了,能让别人理解你所要表达的意思就行,不必追求是用英语交流还是用汉语交流更好, 学会制作和使用工具是程序员的重要标志. 程序=算法+结构:这是编程的本源定义,也即编程的精义,与代码相关的任何工作,最终仍会落足于这样的一条规则. 做事讲究方法的人往往效率更高,同样编程也需要方法

大道至简之编程到工程

在这几十年的的软件的发展过程中,实现方法最先出现,而后才有的分析和设计方法.为了更大规模的软件系统而有了团队组织模式,而团队的协作决定了过程模型的产生,在过程环节中的沟通问题导致了模型化语言的出现.软件工程的理论体系已初具规模. 从最初的简单的编程开始,到现在工程团队的组织开发,实现才是目的.可以说,在软件工程中,实现,是软件开发的本质的需求.在实现这一本质需求的过程中,出于实际的需要,我们设计了一些的数据结构或逻辑结构来映射物理模型.而后基于某种数据结构编程实践的不断积累,决定了方法理论的产生

《大道至简》之从编程到工程

很多开发人员都热衷于争论语言之间的孰优孰劣,但这对于一个专业人员来说很重要吗,语言其实就是一种工具而已,重要的是代码,方法,过程,工程与组织之间的关系.“程序=算法+结构”,这是程序的本源定义,也是原始的状态.与代码相关的任何工作,最终仍旧会落足于这样的一条规则. 推动程序逻辑向前发展的是“方法”和“方法论”的出现.长期的编程实践,自然的归演与总结,必须沉淀为某种方法,于是“过程”出现了,于是“对象”出现了,于是相关的方法论出现了.方法不是某个人创建的,而是经过长时间的实践而总结出来的.我们总觉