编程语言:类型系统的本质

Posted 禅与计算机程序设计艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程语言:类型系统的本质相关的知识,希望对你有一定的参考价值。

0. 引子

我一直对编写更好的代码有浓厚的兴趣。如果你能真正理解什么是抽象,什么是具象,就能理解为什么现代编程语言中,接口和函数类型为什么那么普遍存在了。在使用函数式语言进行编程后,就能够很清晰地理解为什么随着时间的推移,更主流的语言开始采用函数式语言中的一些被认为理所当然的特性。

我将多年间学习类型系统和编程语言开发的经验汇聚起来,加以提炼,并辅以现实世界的应用,撰写了这篇文章。本文脉络如下:

  1. 概述:什么是类型?为什么要引入类型的概念?

  2. 编程语言中的基本类型

  3. 类型组合

  4. OOP与接口类型

  5. 函数类型

  6. 函子(Functor)和单子(Monad)

1. 概述:什么是类型?为什么要引入类型的概念?

类型系统设计的理论与日常生产软件之间存在直接的联系。这并不是一个革命性的发现:复杂的类型系统特性之所以存在,就是为了解决现实世界的问题。

本节介绍类型和类型系统,讨论它们为什么存在以及为什么有用。我们将讨论类型系统的类型,并解释类型强度、静态类型和动态类型。

两个术语:类型、类型系统

类型

类型是对数据做的一种分类,定义了能够对数据执行的操作、数据的意义,以及允许数据接受的值的集合。编译器和运行时会检查类型,以确保数据的完整性,实施访问限制,以及按照开发人员的意图来解释数据。

类型系统

类型系统是一组规则&#x

以上是关于编程语言:类型系统的本质的主要内容,如果未能解决你的问题,请参考以下文章

从Storm到Flink:大数据处理的开源系统及编程模型(文末福利)

C 语言内存四区 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )

类型本质---进阶编程篇

C语言中内存四区的本质分析

Java编程的逻辑 (19) - 接口的本质

C 语言数据类型本质 ( sizeof 函数 | 数据类型大小 )