告别面向对象
面向对象声称自己带来了革命性的进步,实际却没有。
并不是说面向对象没有作用,而是语言在开发中的作用并不如想象中的高。在开发中,除了语言,还有管理,甚至还有人际关系,这些都不是面向对象所能涵盖的,也就是,不管面向对象多牛,他的作用相对于开发工程来说只是一小部分。
面向对象是一组api和状态,并且有外部接口和内部实现的区别,可以减少第三方调用的复杂度。
计算机的基础理论之一就是状态机,也就是一个状态迁移到另外一个状态,对象完美的对应了这种基础理论,因此是高效的。可是最近发现状态过于复杂,导致并行度难以提升的问题,因此出现了函数编程的概念。
现代语言重点在于讨好计算机硬件,而不是讨好人,但是随着问题的复杂化,人类反而成为人机关系弱势的一方,人的智能是有限的,这个也是当前语言需要解决的问题。
在出色的语言,也不可能以一个人的力量去实现大项目,唯有大量的程序库去帮忙,才能真真正正的做到高效开发。因此,语言的力量是有限的,程序开发重点是需要选择一组强大的程序库作为技术基础。因此语言本身实现事务的能力,也许并不是太重要的,重要的是语言能构成完善的程序库的潜在能力。
易于构建,易于部署,易于表达,易于修改,持续的技术支持过程,才是未来语言系统的方向所在。
<p$1$2$3$4$5$6> <p$1$2$3$4$5$6>