首页 新闻 论坛 小组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员

logo

您的位置:CSDN 首页−>新闻频道−>正文

面向对象编程就一定是正确的?

2006.12.26  来自:IT168      共有评论(0)条 发表评论    收藏

当我们使用一个工具很长时间以后,我们通常会习惯它,会使用它的方式来思考问题,而不是使用它来帮助物化我们的思维。随着我开始认真的使用函数式程序设计和动态语言来编写代码,我使用的它们越多,就越发感觉到它们

  当我们使用一个工具很长时间以后,我们通常会习惯它,会使用它的方式来思考问题,而不是使用它来帮助物化我们的思维。大多数情况下这不是一件好事。

   当我们在大学的时候,我们就被告知要学会面向对象编程(OOP),即使函数式程序设计听起来非常酷,你却从不敢放心的在真实生活中使用。我们被告知动态语言对脚步编程非常适合,不过它太慢一直于不能应用在真实生活中的项目。慢慢的我们开始相信了这些事情。

   所有这一切在继续发生,直到几年前我参加了了来自Alexandar Stepanov的培训,我才认识到思维定势是不对的。他被认为称为通用编程之父,也是C++标准模版库(STL)的关键人物之一。比较有意思的是,他在培训中嘲笑了面向对象编程的整个前提-所有一切都是对象。他的观点是计算机技术是由数据应用算法组成的。因此算法应该放在首要位置,它才是编程的关键部分。他建议按照算法来思考问题,而不是按照对象。假若你曾经使用过C++的标准模版库,你可能已经注意到这一点。STL的整体并不是面向对象的。它讨论的是容器应用算法。STL代码看上去更像sort(v.begin(),v.end());而不是像在面向对象系统中所预期的那样:v.sort()。

   感兴趣的读者,我强烈建议您看一下这篇文章中他的观点。

   面向对象系统常常频繁的使用雇员、雇主、汽车和动物的例子来教给大家。我认为这些例子更适合于企业应用中。假若你在编写一个内核程序或正在写一个测试组件,对象可能没有什么实际意义。

   随着我开始认真的使用函数式程序设计和动态语言来编写代码,我使用的它们越多,就越发感觉到它们使用起来是那么自然。

原文链接:http://blogs.msdn.com/abhinaba/archive/2006/12/21/is-object-oriented-programming-good.aspx

发表评论 0条】

CSDN声明:此消息系转载自CSDN合作媒体,其中细节未经CSDN证实,特此声明

其他文章
相关文章
最近评论
正在载入评论列表...
热点评论

     
    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号 世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved