我曾经是非常执著的开发人员。我有连续几天几夜 Coding 的经历,也曾经为了一个技术问题耗上三四个星期而导致项目一再延迟,还曾经为了一个实现细节与项目相关的人员逐一争论。
我也曾经像大多数的开发人员一样热衷于争论语言之间孰优孰劣。我在“Delphi大富翁论坛”上写过一个简介,其中个人特长是“擅长 TurboPascal、Delphi、TASM 系列语言,痛恨 C/C++。我至今保留这段文字,因为那的确是真实的经历。
如今我已经不再专注于语言,正如我在章中写到的一样:成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。然而就在我写这段文字之前的一年,我还在写《Delphi 源代码分析》,我还在无休止地深入语言的细节,深入操作系统的细节,以及深入……开发的细节。
对于一个程序员,或者以程序员自命的人来说,看清楚这一切的步,竟是一句“语言只是工具”!猿之于为人,“学会制作和使用工具”是重要的标志。因而我不知道“语言只是工具”这句话,究竟是对语言的膜拜,还是漠视。然而从那一刻开始,我才真正地知道工程。
在“程序”与“方法”层面,是关注于“(具体的)实现”的;而在“过程”和“工程”层面,更要考虑的是团队问题。从角色的角度上来说:开发经理思考项目的实施方案和管理具体的开发行为,而项目经理则团队的稳定性和一致性。
编程的精义在于此。从有开发行为开始,它就存在了。愚公在数千年前就在用类同的行为做编程实践,而几十万年前的智人,也在循环与分支所构成的逻辑中打转。
推动这种逻辑向前发展的,是“方法”和“方法论”的出现。长期的编程实践,自然的归演与总结,必须沉淀为某种(软件开发)方法,于是“过程”出现了,于是“对象”出现了,于是相关的方法论也就出现了。
这是实践的成果。方法不是某个人或者某个组织创造的。瓜熟而蒂落,实践积累达到一定的程度,微软不提出某个方法,IBM 也会提出这个方法。即便他们都不提出,可能你自己已经在使用这个方法了。方法并不神秘,因为它就是你今天正在做的、从事的和实现的。正如“模式”是一种方法,而模式就是你昨天书写代码的那个行为。只不过,归纳、抽取、提升了这些行为的内在规律。你看不到你做事的行为,也就不能理解“模式”作为一种方法的价值。所以大师们众口一词:模式需要一定的编程经验才能理解。同理,理解过程也需要编程经验,理解对象也需要编程经验,理解 MDA(模型驱动架构)与 SOA(面向服务的体系结构)还是需要编程经验。
这可能就发生在你去回顾你的上一行代码编写的经过,或者上一个项目失败的经历的那一瞬息。经验来源于回顾、理解与分析,而不是你将要写的下一行代码。有人在寺院扫了一辈子的落叶而得道,也有人因为一句话而得道。从编程到工程告诉人们过程的实践是及其重要的。
【北大青鸟武汉宏鹏】更多编程知识详细可点击在线咨询,或者拨打热线电话:17740513250
- Shell编程是什么?什么是Shell编程?
- 零基础编程学python好吗?
- 零基础编程学python好吗?
- 零基础初学编程从什么地方开始?
- 小白零基础编程培训要多久?
- Java计算机编程入门怎么开始?零基础学Java
- 武汉北大青鸟软件编程专业好不好?
- 武汉软件编程培训机构哪家好?零基础学的会吗?
- 武汉编程培训学校哪家好?北大青鸟专业电脑培训学校
- 武汉北大青鸟学编程好不好?
看过该行业新闻的还看过
本文标题:#从编程到工程 软件工程实践者的思想#,宏鹏发布于北大青鸟鲁广校区。作为一个软件开发人员,语言的学习至关重要,从编程到工程,你体会到了什么?