老子认为道即是人心对宇宙的建立的完美模型。
宇宙指古往今来、万事万物。
但是人类的语言不足以描述这个模型。
因为语言的最小单位是“概念”,概念无法被清晰定义,所以语言也不能精确表达。
老子通过“名可名,非常名”实际上指出了形式逻辑的局限性,也就是单纯的演绎法不足以为宇宙建模。
老子同时也指出,我们需要归纳,需要融会贯通,一以贯之。
最后如赤子之心,随其所欲不逾矩。
但是归纳法同样依赖于概念,所以演绎法加上归纳法同样不能满足建模要求。
编程语言作为一种人工语言,在形式化定义上比自然语言更精确。
《编程原本》这样说:
如果一个过程使用了一个类型,它就会依赖于该类型的语法、语义,还有其计算基的复杂性。
在语法上,它依赖于一些确定的文字量和一些具有特定名字和签名(signature)的过程的存在;其语义依赖于过程的语义;其复杂性依赖于过程的时间和空间复杂性。
如果用另一个具有同样性质的类型取代这个类型,程序将仍然是正确的。
如果不是基于具体的类型,而是基于对类型的一些要求(通过语法和语义性质描述)来设计软件部件,例如设计库或数据结构,一定能提高它们的可用性。
我们将这样的一组要求称为一个概念(concept)。
类型表示类别;而概念表示类属。
要描述概念,就需要有一些处理类型的机制,包括类型属性、类型函数和类型构造符。
类型属性(type attribute)是从一个类型到一个值的映射,它描述有关类型的某种特征。
类型函数(type function)是从一个类型到一个从属类型的映射。
类型构造符,它从一个类型T出发返回“指向T 的指针”类型。
在老子那个时代,不具备处理类型的机制,因此对概念浅尝即止,因此除了程序员和数学家,大多数人到了概念这一级就止步了。
许多商家玩概念就是空对空,玩成玄学了。