搞自己的--,让别人++去吧
2007-03-19 16:48
169 查看
一直以来我们对OO的期望过高了。
OO本质上提供的是从可维护一小坨代码,升级为可以维护一大坨代码的能力。 这种对于大规模代码(或者叫做大规模垃圾)的维护能力,无论是从技术方面看,还是从市场方面看,主要的获益仅仅在于扩大了对基础劳动力的需求,以及产出了极其巨大的垃圾。
我们最根本的问题是软件的规模跟不上么?我认为不是,做过无数项目,但是至今也没觉得哪一个算得上什么不得了的大项目。所谓面向对象,所谓的软件工程,常常只不过将难度高工作量小的事情,转化为难度低工作量大的事情,常常是用密集劳力换取复杂度的降低。
我们是否根本就不能承受任何复杂性呢?是否要为了把程序单元变成弱智都可以维护的一大坨一大坨的垃圾呢?这种对于可维护性的提高是否又增加了维护开发人员的时间和精力的消耗呢?
我们没有解决作好一个优秀的小型代码的问题,却集中尽力搞代码的规模化。大批量的生产垃圾代码和弱智程序,到底是为了什么呢?
盲目++,最后就会出现大面积的巨型垃圾,要让谁去消化,谁去维护?
所以我说要--,面对对象是战略问题,但是战术问题没解决好,搞战略问题不但只是纸上谈兵,还白白浪费各种资源。OO能让优秀的程序开发者的效益加在一起超过每个单个开发者产出的总和,产生提升规模后的边际成本下降的效应。也能让残废的开发者产出的垃圾加在一起远远超过每个开发者铲除垃圾的总和。
操作系统面对对象么?我们的VC纯粹的面对对象么?事实上windows根本没有抽象意义上的对象,只有各种被称作对象的内存区块(事实上是一大堆结构体),并且用句柄来索引他们。确切的说windows的系统是面对句柄的编程模式,我们连windows实实在在的肌肉骨骼都没概念,反而去相信什么纯面向对对象的形而上之论。很容易滑向生产大规模垃圾的深渊。
因为要学++,首先要--;不要面向对象,就面向过程,或者面向指针面向句柄。面向什么不是首先要解决的问题,首先要解决的问题是有一把锋利的剑。而vc--就是你的剑,一把吹毛断发、重剑无锋的利器。
OO本质上提供的是从可维护一小坨代码,升级为可以维护一大坨代码的能力。 这种对于大规模代码(或者叫做大规模垃圾)的维护能力,无论是从技术方面看,还是从市场方面看,主要的获益仅仅在于扩大了对基础劳动力的需求,以及产出了极其巨大的垃圾。
我们最根本的问题是软件的规模跟不上么?我认为不是,做过无数项目,但是至今也没觉得哪一个算得上什么不得了的大项目。所谓面向对象,所谓的软件工程,常常只不过将难度高工作量小的事情,转化为难度低工作量大的事情,常常是用密集劳力换取复杂度的降低。
我们是否根本就不能承受任何复杂性呢?是否要为了把程序单元变成弱智都可以维护的一大坨一大坨的垃圾呢?这种对于可维护性的提高是否又增加了维护开发人员的时间和精力的消耗呢?
我们没有解决作好一个优秀的小型代码的问题,却集中尽力搞代码的规模化。大批量的生产垃圾代码和弱智程序,到底是为了什么呢?
盲目++,最后就会出现大面积的巨型垃圾,要让谁去消化,谁去维护?
所以我说要--,面对对象是战略问题,但是战术问题没解决好,搞战略问题不但只是纸上谈兵,还白白浪费各种资源。OO能让优秀的程序开发者的效益加在一起超过每个单个开发者产出的总和,产生提升规模后的边际成本下降的效应。也能让残废的开发者产出的垃圾加在一起远远超过每个开发者铲除垃圾的总和。
操作系统面对对象么?我们的VC纯粹的面对对象么?事实上windows根本没有抽象意义上的对象,只有各种被称作对象的内存区块(事实上是一大堆结构体),并且用句柄来索引他们。确切的说windows的系统是面对句柄的编程模式,我们连windows实实在在的肌肉骨骼都没概念,反而去相信什么纯面向对对象的形而上之论。很容易滑向生产大规模垃圾的深渊。
因为要学++,首先要--;不要面向对象,就面向过程,或者面向指针面向句柄。面向什么不是首先要解决的问题,首先要解决的问题是有一把锋利的剑。而vc--就是你的剑,一把吹毛断发、重剑无锋的利器。
相关文章推荐
- 2016-11-01——孤独留给自己,开心让给别人
- 毕业设计(十五)-翻译和教导别人会让自己更强的!
- 程序员!你应该读别人的心得,但是一定要自己注解
- 励志名言:不要仰望别人,自己亦是风景
- 发布网站自己可以浏览,别人却无法访问
- 不想让别人知道自己浏览过哪些网页和打开过哪些文件,应该怎么办?
- ZOJ 1205题解本来是一道大数运算水题,可是却纠结了很久,原因是没能真正读懂题意,要求的计算必须是一一对应输出即使前面出现几个0最后也要把前面的0输出,看别人用C++自己还是两个都提交了结果还是C占的内存少。
- 创业随想--从网站建设开始(8,把正面给别人,把背面留给自己)
- 如何使自己的桌面应用程序在别人的电脑上也可以用
- ASP.NET运行机制原理 ---浏览器与IIS的交互过程 自己学习 网上查了下别人写的总结的很好 就转过来了 和自己写的还好里嘻嘻
- 每个人都有自己的机缘,看别人的风景,品自己的人生!
- 拿别人的经历来勉励自己
- 给别人做了N多个网站! 今天总算来兴致给自己申请个拨棵了!
- 不求追上别人的步伐,需要有自己的风格
- 自己看别人看了没用,UNICODE下连接数据库
- 如何将别人的知识转化成自己的知识?
- 宽恕别人对自己的十二个好处
- fork 了别人的仓库后,如何将自己的代码和原仓库保持一致
- 使用管道编程----利用别人的程序,实现自己的功能
- 若自己都不爱自己,怎么去爱别人呢?