今天想来聊聊范畴。起先我不知道范畴这个概念,我曾经思考过:
- 世界上先有买,还是先有买?
- 假设以粮食为例,最初的买卖是怎么样的?
- 由最初的买卖如何发现成今天这个社会经济的?
然后我发现,他们的变化都是在时间、空间、数量上的变化。
这里不讨论先有买还是先有卖(个人观点是需求驱动,先有买)。
- 当第一笔交易产生,有利可图的时候。人就会想办法把利最大化。会拿更多的东西来卖。这是数量上的变化。
- 由于人的分布,不在一个点上分布。一个点上卖东西,能辐射的区域是有限的,要想卖得更多,要辐射更大的区域,就开更多的点。这就是向空间发展。
- 产品,比如大米,是有生产周期的,这就是时间的影响。
再后来,我又曾经研究过语言学,如何把人类语言转化为机器可以理解的语言。 人的语言,分有名词,动词,形容词,副词,数量等等。但很多的词,是人类的主观的感觉决定,比如这个菜太好吃了。其实机器无法理解的。即使机器人味蕾,每个人对一个菜是否好吃,其实不完全一样的。但从客观角度,对于机器来说,可以说:
一个人吃了一个蛋炒饭。 再细分,蛋炒饭,含蛋多少,饭多少,几成熟,油多少,盐多少...
又刚好,我自己学的又是编程,面向对象语言里,有实体,属性,行为,关系,状态的概念。把上边的话弄成机器高级语言的话,就是。一个人的实体,做了一次吃的行为。 行为的输入为一个蛋炒饭实体。 这个蛋炒饭的实体属性是:N成熟,Ng油,N盐。
再到后来,看哲学书的时候,才看到了真正范畴的概念。 亚里士多德是范畴学的开山鼻祖。他在他的书《范畴篇》中讨论了十大基本存在。分别为
- 实体
- 数量
- 性质
- 关系
- 场所
- 时间
- 姿势
- 状态
- 动作
- 承受
好了,我估计看的人里,已经很多人打瞌睡了。 以上什么意思?我们说,哲学的本质是求真,而且求本质的真。 以上10个特性的话,是指,世界上所有的事务,都可以按上边10点来拆分与分析。
我前边讲过,我们在解决具体问题的时候,需要用到一种办法,就是把大问题拆分成一个个小问题。然后从小处来解决。而范畴,就是一个拆分的方式。把无限化为有限的方式。这个世界上这么多的事物,这么复杂的关系,如何去分析,如何化繁为简。化繁为简之后是什么?范畴,或者范畴的思维方式,拆分的。
比如中国,把万物拆分成阴和阳来解释。这其实也是一种范畴。只是这种方式显得太粗。再比如,世界上有多少种人?
可以说:只有男人和女人,
也可以说,有我看得到的,和我看不到的。
也可以说:有我爱的,还有我不爱的。
也可以说:有我的家人,还有不是我家人的。
以上这些都是范畴的本质思维。只是范畴不仅仅是这种逻辑上的划分,把范围放大到万物,普遍性的时候,亚里士多德的那10个点就出来了。 与期说他发明,倒不如说他发现了。因为即使是我这种俗人,我没看过他的范畴学,我把可以定义出:实体(对象),行为,数量,属性, 状态... 等出来。 只是没有亚里斯多德那么精准。
除了分类,还可以把一堆复杂的东西,拆分成:有多少实体,它们的性质分别是什么?所在场所是,能做的动作是什么?....
一旦把事物这样一拆分,理解与分析起来,就容易多了。
很多的时候我在想,计算机面向对象语言的设计思想,应该来源于范畴。否则就是殊途同归。
网友评论