那好吧,也许是没死,但卡内基.梅隆大学的Robert Harper教授却说(Teaching FP to freshmen)面向对象编程和设计“不适合做为现代计算机科学教学课程”,详细的内容引用如下:
“面向对象编程应该完全的从基础课程中删除掉,因为它既是反模块化,又是反并行的,这是它的非常固有的特征,所以它不适合作为一种现代的计算机科学课程。”
我曾经历过各种编程模式的兴衰。我最初做行业编程(以及学术编程)时采用的是结构化编程模式。这种编程模式当时被认为是一个巨大的进步,但需要人们在思考和设计程序时做一些改变。后来我又经过了很长的、缓慢的、诸多痛苦的过程转变到了面向对象编程模式。我们曾经经过函数式编程的年代吗?也许吧。也许它跟其它的编程模式共存不冲突。
我们如今有了新的需求。正像当初的结构化模式和后来的面向对象模式是来满足大型程序和巨型团队的要求,如今的因为要求处理更多的数据的趋势而出现的关键问题就是并行性(parallelism)。基于这个背景出现的微软的F#语言的目标就是并行性——为了更好的在多处理器的电脑上并行工作。很显然,我们不停的向前发展是为了更好的利用最新的硬件。但是,这就可以说面向对象成为选修、我们的学生就可以等到毕业后再学习这些知识吗?我还没有被说服。
即使是在面向对象热潮达到顶峰的时候,我就坚称,并不是任何东西都可以成为对象,各种模式的混合使用在过去,在将来,都是正确之道。即使现在函数式编程正趋于流行、使用量增加的情况下仍然会是这种情况。那些古老的编程模式会完全的消失吗?我不这么认为。以后大家都不用对象了吗?不可能的。我想,那些大学,特别是声称“提供教育而培训”的大学其实是对学生的一种伤害,他们没有看到当今这个领域的真实情况。不祥之兆不断显现,函数式编程日显重要。但忽略面向对象编程不会给任何人带来好处。只是我的个人意见。
本文是从 Object Oriented Programming is Dead 这篇文章翻译而来。
转自:http://www.aqee.net/2011/04/02/object-oriented-programming-is-dead/
该贴已经同步到 wxy的微博
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/42212.html