一切源于人类的想法?
我们平时的思考事情的习惯大概是这样的:如果 A 那么会B,如果不是B的话那么可能是C。
如果我们将这个思考过程符号化,这里比如说将我们个人的认知集合用一个符号系统来表示。
- IF /ELSE- 代表条件判断
- F - 代表事实判断
- R- 代表结果
那么我们的思考过程(符号运算系统)可以这样描述:
IF F(A):
R(1):
ELSE:
R(2)
是不是就是在写程序?
下边看一段数学推导:
![](https://img.haomeiwen.com/i6147530/2deb5a22fb1634f4.jpg)
我们都知道,上边的这个运算过程是可以用计算机程序来描述的。从语言的角度来讲:是两种不同语言系统的转换。但其实前者是人类大脑处理的过程,有图像、自然语言、数学语言,以及其他非标准化的语言。
可以用下图来表示:
![](https://img.haomeiwen.com/i6147530/6199e80980148500.png)
这里想引出的问题:
数学有自己的符号系统(比如加减乘除),物理有自己的符号系统(比如量子力学中的算子),化学有自己的符号系统(比如化学方程式),这些都局限在自然科学领域。科学家们通过观察、归纳、抽象、符号化,然后用自己的系统去推演,周而复始。
对于社科领域,比如管理、经济是否可以构建这样的系统呢?应该是有的,不过现在都叫“模拟”。
也就是说:数学可以通过严格逻辑的推导(不是基于人的臆想,当然人的想象也有推演的过程)得出结论。那么,我们社会科学应该也可以这样吧。这里说的社会科学,不局限于学校、研究机构,包括我们个人,平时的所处的社会组织活动,比如个人管理、团队管理、系统设计等。我们能够抽象出这么一个符号系统,然后基于这些符号去进行严格的推演,发现我们不知道的结果。而不是,总是基于经验,给出“立马可见的结论”。其实我们每天都在进行这个过程,不过没有“符号化”,我们称这个过程为“思考”,将“计算过程内化了”。不仅要内化,还要外化。
符号系统的关键一点是可计算。而可计算的基础是定理。
比如 1+1=2,比如氧原子吸收了两个电子,变成-2价。
计算机通用语言符号的计算定理(或者说它不提供定理,只提供计算框架):IF...ELSE...
综上:
构建一个符号系统 = 抽象出符号 + 运算逻辑。这样这个系统就是可编程的。
------- 8月22日
感觉这[1][2]两个文章也在一定程度上可以解释以下问题:
- 语言表达能力强的孩子“聪明”
- 通用语言、DSL、可逆计算:如果从符号学的角度来解释编程的话,我们写的程序必然是“可逆的”,因为符号本来就是离散的,可以聚在一起,分开也是独立的存在。---前提是我们使用了“准确的符号”(这里加引号的原因,请看->)。但又不一定是可逆的,
Peirce also demonstrated that a sign can never have a definite meaning, for the meaning must be continuously qualified.
。可逆的前提是,在确定的上下文下,使用确定的符号,准确地表述确定的意义。要做到这一点已经很难了,因为这意味着对事务的本质的理解是前提。
以上可以对我们的Coding工作有一些指导意义:
- 每个实体、命令、事件、值对象、规则、流程必须(尽可能)是准确反映现实的符号,因为事物的本质是由符号来承载的[1]。不准确的符号反过来势必造成另一个符号系统(人脑B)对其进行错误的翻译,从而使系统的混乱度不断增加。
参考资料:
[1]符号学研究的是什么
[2]符号学
[3]https://www.dca.fee.unicamp.br/~gudwin/compsemio/
[4]https://www.dca.fee.unicamp.br/~gudwin/Publications/
[6]语言符号下的思维——反射效用
网友评论