搞自己的--,让别人++去吧

来源:互联网 发布:淘宝金丝绒太极服装 编辑:程序博客网 时间:2024/04/30 12:24

一直以来我们对OO的期望过高了。

OO本质上提供的是从可维护一小坨代码,升级为可以维护一大坨代码的能力。 这种对于大规模代码(或者叫做大规模垃圾)的维护能力,无论是从技术方面看,还是从市场方面看,主要的获益仅仅在于扩大了对基础劳动力的需求,以及产出了极其巨大的垃圾。

我们最根本的问题是软件的规模跟不上么?我认为不是,做过无数项目,但是至今也没觉得哪一个算得上什么不得了的大项目。所谓面向对象,所谓的软件工程,常常只不过将难度高工作量小的事情,转化为难度低工作量大的事情,常常是用密集劳力换取复杂度的降低。

我们是否根本就不能承受任何复杂性呢?是否要为了把程序单元变成弱智都可以维护的一大坨一大坨的垃圾呢?这种对于可维护性的提高是否又增加了维护开发人员的时间和精力的消耗呢?

我们没有解决作好一个优秀的小型代码的问题,却集中尽力搞代码的规模化。大批量的生产垃圾代码和弱智程序,到底是为了什么呢?

盲目++,最后就会出现大面积的巨型垃圾,要让谁去消化,谁去维护?

所以我说要--,面对对象是战略问题,但是战术问题没解决好,搞战略问题不但只是纸上谈兵,还白白浪费各种资源。OO能让优秀的程序开发者的效益加在一起超过每个单个开发者产出的总和,产生提升规模后的边际成本下降的效应。也能让残废的开发者产出的垃圾加在一起远远超过每个开发者铲除垃圾的总和。

操作系统面对对象么?我们的VC纯粹的面对对象么?事实上windows根本没有抽象意义上的对象,只有各种被称作对象的内存区块(事实上是一大堆结构体),并且用句柄来索引他们。确切的说windows的系统是面对句柄的编程模式,我们连windows实实在在的肌肉骨骼都没概念,反而去相信什么纯面向对对象的形而上之论。很容易滑向生产大规模垃圾的深渊。

因为要学++,首先要--;不要面向对象,就面向过程,或者面向指针面向句柄。面向什么不是首先要解决的问题,首先要解决的问题是有一把锋利的剑。而vc--就是你的剑,一把吹毛断发、重剑无锋的利器。

 
原创粉丝点击