告别面向对象

面向对象声称自己带来了革命性的进步,实际却没有。

并不是说面向对象没有作用,而是语言在开发中的作用并不如想象中的高。在开发中,除了语言,还有管理,甚至还有人际关系,这些都不是面向对象所能涵盖的,也就是,不管面向对象多牛,他的作用相对于开发工程来说只是一小部分。

面向对象是一组api和状态,并且有外部接口和内部实现的区别,可以减少第三方调用的复杂度。

计算机的基础理论之一就是状态机,也就是一个状态迁移到另外一个状态,对象完美的对应了这种基础理论,因此是高效的。可是最近发现状态过于复杂,导致并行度难以提升的问题,因此出现了函数编程的概念。

现代语言重点在于讨好计算机硬件,而不是讨好人,但是随着问题的复杂化,人类反而成为人机关系弱势的一方,人的智能是有限的,这个也是当前语言需要解决的问题。

在出色的语言,也不可能以一个人的力量去实现大项目,唯有大量的程序库去帮忙,才能真真正正的做到高效开发。因此,语言的力量是有限的,程序开发重点是需要选择一组强大的程序库作为技术基础。因此语言本身实现事务的能力,也许并不是太重要的,重要的是语言能构成完善的程序库的潜在能力。

易于构建,易于部署,易于表达,易于修改,持续的技术支持过程,才是未来语言系统的方向所在。

<p$1$2$3$4$5$6>  <p$1$2$3$4$5$6> 

posted @ 2010-10-06 21:30  诺贝尔  阅读(258)  评论(0编辑  收藏  举报