传统的编程模型(以数据为中心的面向过程的模型),逻辑是死的,数据在变化。这里具有严格的输入/输出的模式。数据流过一个又一个函数发生变化。
可以说这个模型,不是现实世界的抽象,而是对计算机世界/电子世界的抽象。
我们来看看,现实世界,一个球碰到了墙,球反弹了,球往哪弹,弹多远,由它自己受到的力决定的,但是弹出的动作是由它自己完成的,在一定的逻辑的“计算”
下,根据自己的属性计算完成的,而不是经过计算,由其他的什么东西把它放到那的。所以面向对象的思想出来了,由球这个对象,自己容纳自己的属性,自己控制自己的动作。
从这里我们看出来了,面向过程的模式,主要针对的是数学计算;面向对象的模式主要针对的是现实的模拟(解决应用问题)。
并且面向对象的模式,和分布式计算的模型也是非常吻合的。
可以狂想以下,在分子/原子计算普及的一天,不同对象的计算就可能由CPU中的不同的分子/原子簇来完成。而不是由整个CPU来处理。
但是我们也要看出来,现实世界中还存在着规律/理论的东西,一些本质的属性之间的作用关系。
他不是以一个实体(对象)为界限的,这是OOP的局限之处。这也许就是面向面的编程模式的产生根本。
唯物主义认为物质决定意识。我们现在主要还是在仿生。
人类现在的主要工作还是在认识世界,而不是创造世界。等我们达到了以创造为主的时候,我们离灭亡也就不远了。