对于c、c++来讲,设计的对象存在着这几个问题
1、 对象是死的,只有自己的属性,行为(函数)。没有可以自己独立执行的机制
2、 对象是存活的,有自己的属性,行为(函数),还有独立执行的活动(自己独立的线程)。但由于系统的限制,这种对象数量不能过多(线程数量不能太多)。
3、 对象是半存活的,有自己的属性,行为,没有独立的执行活动(没有自己独立的线程)。需要借助于其他对象的线程调度。
以上是c、c++语言的一些限制。其他语言不是熟悉,不进行评判。但大多数也是类似的。
那么对于golang语言来讲,设计的对象可以是
存活的,每个对象,有自己的属性,有自己的行为,也有自己的活动(通过协程来实现)。那么这样来讲,golang就可以实现对对象的完整模拟实现。就犹如我们现实世界,个体能够保持独立性,自治性。
那么个体之间的联系呢,在golang语言中,可以通过chan来实现。就犹如现有的社交网络一样。
Golang中的对象,就是模拟节点,而chan则是模拟链接通信。这些则是golang区别于其他语言的一些重大特性,所以用golang语言开发,能够更好的理解和实现我们的世界。
那么有了这些机制,对于群体智能,就能很好的模拟。每个个体的行为是独立的,个体之间通过一些信息交流。当个体数量达到一定程度的时候,其群体行为就会涌现出来。在某种程度上来说,这个也是大数据分析的一种方式。
我个人很看好golang语言,也正是这些东西,使得golang语言能与其他语言有着本质的区别。
龚浩华
QQ 29185807
2014年12月15日09:07:52