为更简单的软件欢呼三声,嘲讽一声 - 彭博社
bloomberg
面向对象编程是一个真正的革命,极大提高了一个急需提升的行业的生产力(“软件简化”,封面故事,9月30日)。虽然计算机硬件的成本在过去40年中稳步下降,计算成本降低了数百万倍,但软件的成本生产力提升也许仅为10倍。面向对象编程可能在一瞬间再增加10倍。
亨利·G·贝克
加利福尼亚州恩西诺
你的故事很好地解释了为什么当前的编程语言(如C)正在迅速让位于面向对象语言的可靠性、清晰性和可重用性。
在试图展示计算机程序可以多么晦涩和容易出错时,你可能比你意识到的做得更好——你选择用来说明你观点的那行C代码包含两个错误。你可能是想用反斜杠替代斜杠,并加上一个下划线,而不是printf("%s/n", curr str)。
这些错误看起来可能并不致命,但足以让你的程序无法按预期运行。将这两个错误乘以今天程序中常见的数万行代码,你就可以清楚地看到为什么程序员欢迎任何能够帮助他们重用旧程序的技术,特别是当这些程序已经解决了问题时。
乔治·霍洛伯
培训服务讲师
Unix系统实验室公司
新泽西州萨米特
程序员,特别是编程经理应该明白,程序就像书籍一样,应该写得让读者能够理解他们所读的内容。毕竟,程序员修改自己编写的程序的机会几乎为零。
一个好的编程主管如果理解标准程序设计的真正目标,可以轻松将编程费用削减75%。然而,这样的人数屈指可数。编程是一门科学,而不是一门艺术。如果我们在建筑行业的表现不比在大多数计算机项目中更好,我们就不会有超过两层高的建筑。我完全同意模块化编程、面向对象编程或任何其他函数或对象可能被称之为的目标。我们需要做的是停止讨论这些,控制实际的编写和设计,以便在产生另外几亿行不可修改的代码之前。
W. Carl Gahan
达拉斯
你的文章,一篇关于用户界面,另一篇关于软件开发,通过宣布复杂问题的解决方案而造成了不利影响。在关于简化消费者电器(如录像机)控制的故事中,你忽略了良好的(界面)工程不仅仅是限制功能,直到产品变得简单易用。虽然这确实是一种有效且常常适用的技术,但产品工程师面临的问题是以一种明显而不简单的方式向用户展示高级功能。
同样,开发软件的问题并不会因为使用对象而突然解决。像结构化编程、模块化编程、程序员团队、数据库、关系数据库和自动编程(现在称为编程语言)一样,面向对象编程也是另一种有用的工具。但它并不能神奇地解决所有问题。
在其他文章中,您解释了重构,或重新思考整个系统的过程,比简单建模要有效得多。相反,本文提倡模仿现有系统。
罗伯特·弗兰克斯顿
马萨诸塞州牛顿高地