计算机科学的要义

通信和控制是目的,计算和存储是手段,模块化是方法。

通信和控制体现着两种截然不同的人生态度。通信强调的是信息交换,即信息在时空中的转移、流动,这样的交换一般是平等的,交换主体之间彼此互惠,协商互换。可惜,信息无法脱离物质而单独存在,故而需要依赖于某些介质,从而也必然存在着信息安全的问题。控制强调的是行为可预测,即信息的流动、物质的时空变换呈现出确定性的状态,要借助周期性的运动(时钟和计数)方能达成。世事无常,控制只能在可认知的时空边界中生效,并且还要承受可认知时空里复杂所带来的灾难,而通信的时空边界似乎能够不断地被突破,给人们带来无限的希望。

计算和存储是时间和空间中乘载着通信信息的信息。计算是对算法执行过程的称谓,算法是对线性次序、非线性次序和重复结构的描述,以静态的源码,用动态的眼光,经过排列(旋转、组合)、搜索(查找、访问、移动)、变换(加运算)后,提取出用于通信的信息。存储是对信息的空间组织方式的称谓,信息的空间组织方式是无方向、可对称的,既可作为计算的操作原料,也能记录算法本身。通信和控制都需要借助计算和存储来完成,进行通信的信息和进行控制的信息也需要借助计算和存储来完成。

模块化是控制复杂的有效方法,既符合人的直觉思维,又有强大的理性根基。说其符合直觉思维是因为直觉只能感知事物的表象,而模块化能够有效地封装起内部,只暴露出事物的表象,称之为接口,如果不运用理性,难以想象接口之下隐藏着什么。说其具有理性根基是因为模块化的可叠加性、依赖管理能够形式化,此外,完整的运用模块化,还需要人将注意力从接口毫无间断地转移到内部,并且既会自顶向下看,还会自底向上看,这需要多年的浸染和领悟。实际上,模块化都不只是计算机科学的方法论,它还是整个工程学认知论的核心,属原子论的变体。

发布人

jeremy1990

现居北京,就职于亚马逊中国,软件工程师。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注