日期:2014-05-20  浏览次数:20771 次

面向对象的C#和Java属狗?!
呵呵,今天调侃下面向对象。
这个所谓面向对象嘛,在60年代就提出了,源自SmallTalk,看来出道还挺早的,可是真正受到工业界重视是80年代中后期的事,当时那种盛况呀,面向对象简直就是神,是所有软件的“银弹”,可以解决一切,好像软件危机从此就不存在了,任何一个大型公司,如果还没有拿出OO的东西,你就不好意思说你是搞IT的,特别是随着互联网的发展,Java恰逢其时的出现,面向对象在90年代中后期那是无人不知无人不晓,美国各大高校计算机专业如果不开设门Java课,那是很Out的事,这种风气自然也感染了中国很多大学、培养了很多有骨气的教授。到了21世纪初,.NET横空出世,C#是宇宙间最符合软件工程学家提出的软件工程思想的,那种美呀,征服了多少人,可是中国德高望重的、有骨气的教授不愿承认,这倒不影响C#在中国的传播,这个10年呀,那影响是翻天覆地的,甭说什么样的人,就是扫厕所、捡垃圾的你如果没用过C#,就会受人鄙视的,由此可见,C#在中国的草根阶族是很有影响力的
 
60年代中~70年代初,世界上有一个工程师提出了一种思想,但反映冷淡淡的;
70年代中~80年代初,世界上最聪明的几个工程师开始吹嘘它;
80年代中~90年代初,世界上最NB的几大软件公司开始吹嘘它;
90年代中~21世纪初,世界上所有的大学、开发人员开始吹嘘它;
21世纪至今, 我一同学(中国计算机专业)做毕业设计,老师说要三层架构,面向对象…
 
其实第一个提出来的人早就认识到错了,幸好反映平平,也就虚惊一场。
最可笑的是那几个最早吹嘘的工程师,刚开始牛气冲冲,非认为它是对的,到最后悔的肠子都青了。
态度始终比较稳定的到数这几大软件公司,刚开始也是兴奋的不得了,认为那几个工程师太伟大了,到后来出现了很多问题,发现被那几个工程师忽悠了,气的呀咬牙切齿,这么多问题,该怎么办呢,总不至于认错吧,认错公司就垮了,恰逢其时,机缘巧合,发现学校和开发人员却很认同OO,它们稍微冷静下来---一个雄心的战略就出来了(专业人士都能看出来),于是大家又接着一起吹嘘。
美国教授和学生可不是吃素的,思辨能力特别好,大公司认识到错误不久他们就反应过来了
最可悲的是中国,像我这样的学校,据说有的老师说毕业设计要采用三层架构…
 

呵呵, ,看见这个老头了吗?,国外一个程序员。
他说;
“I think that object orientedness is almost as much of a hoax as Artificial Intelligence. I have yet to see an interesting piece of code that comes from these OO people;
I find OOP philosophically unsound;
I find OOP methodologically wrong”
这个人水平不高,大家不必了解,看看他的观点就行了
 
  看看这个帅哥,也是个程序员。
他说:
“If this were so, “object-oriented” would simply be a synonym for “good,” and the concept would be a vacuous buzzword of little help when you need to make practical decisions.”
这个人也一般,不过C++是他设计的。
 
中国计算机专业学生讨论问题:“上面第一个老头是谁呀,敢这么说面向对象,我们老师都说了面向对象是优秀的,那老头就是一SB,面向对象你懂吗?就大放厥词。面向对象思想多好呀,封装、继承、多态,实现软件的重用,软件组件化,你看多好呀,那老头写过代码吗?估计还是处在面向过程年代,看看我们老师做的中国身份证管理系统、中石化职工管理系统….多牛呀,那三层架构思想发挥的淋漓尽致,我们老师计算机太牛了,看看他那炉火纯青的设计模式技巧,一个项目代码就有20多万行,没有面向对象行吗?糟老头做过类似于我们老师的项目吗?像这种老头就是脑子被驴踢了,算什么东西,看看我们老师做的项目,看看我们老师的动手能力,看看我们老师的经验,这样的外国垃圾程序员能和我们老师比吗?”
“第二老头就是C++创始人呀,看来人真是老了,计算机讲究的是动手能力,你设计门语言能和我们老师那20万行代码的项目比吗?不就设计个C++嘛,有什么了不起,别看C++是你设计的,论写代码你肯定不如我们老师,听说外国的设计、架构人员大都不写代码,这个动手能力也忒差了,还是我们老师牛,看,我们学校师生用的教务管理系统就是我们老师开发的,你一个老不死的设计人员能开发出来吗?就这样还有脸说面向对象是‘假大空’,一看就和我们老师没法比,这外国也太好混了吧,我们老师才是真才实学,要学历有学历,要经验有经验”
 
唉,中国计算机专业学生对计算机水平是高是低的理解上已经是到了荒唐、愚昧、发指的地步了
在中国,计算机根本不是一个高技术产业,而是类似于农民工的产业,全球IT界的定位就是把中国当成IT民工之地,我们的教育也是这样培养老师和学生的,我们的环境也是这样的
人水平不行,无可厚非,但是自己认识不到,而且还天真的认为自己很高,这就是一个人的可悲了
今天我给娃娃们一个计算机水平高低的通俗易懂判别方法:
搞基础理论研究、原创算法的人水平最高;
搞系统软件开发的人水平随后,其中编译原理这一块最高,操作系统随后,数据库随后,…
搞平台的人水平随后,其中平台架构设计最高,类库和工具随后,软件产品随后
搞核心软件的人水平随后,其中服务器端开发最高,客户端随后
搞平台特定技术的人随后,其中特定技术架构最高,类库及其实现、工具随后…
最后,搞一般性开发的人最次,其中C/S信息管理系统较次, B/S类信息管理系统最次,它们是所有软件开发中垫底的,是最容易的,是最无价值的。
 
人最怕的是无知,麻木。
上面两个老头一个是STL之父,一个C++之父,他们的水平当然是一流的,如果你们老师的水平是一滴水,那他们就是大海---深不可测,无法想象
计算机水平的高低不是以项目多少,代码多少,工作年限这类标准来衡量的,它是以算法思想和设计思想来体现的,请关注这些计算机基础学科,数据结构、组成原理、操作系统、编译原理……不要掉入到Java,C#这些大的软件公司构建的使你成为代码民工的语言!

------解决方案--------------------
我很认真地阅读了全文,但是没有看到楼主有哪怕一行文字的认真分析,说面向对象到底哪里不好了。
你们或许阅读得更仔细些,请问你们有发现楼主的分析吗?

无非就是套用了一下国外大牛的话,来生硬地打压了一下面向对象的软件工程方法。

实际上软件开发可以按照面向对象的思路来做,也可以按照别的思路来做,比如面向过程。还有一些特定领域的开发,可以面向模型来开发,创建领域模型,自定义DSL。

面向对象的思想依然是很不错的,只不过你不能抬杠,既然它很好,那么它能不能解决你的所有问题?不能,那它就不好,然后就把它贬得一文不值,从高高地捧到天上变成狠狠地踩在脚下。
这种态度显然是抬杠。

我认为楼主就属于这种抬杠。

哗众取宠。


你还不如简单地跟大家分析一下,比如合适我们要面向对象,何时我们不要面向对象,如何正确地面向对象。
或者,你来给大家介绍一种优秀的设计思想,无论是不是与面向对象有冲突。总之让大家从你的文字里面学到新东西、有用的东西。
这才是务实的态度。

但是,很遗憾,我没有看到楼主任何的务实态度。