编程语言:类型系统的本质
Posted 禅与计算机程序设计艺术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程语言:类型系统的本质相关的知识,希望对你有一定的参考价值。
0. 引子
我一直对编写更好的代码有浓厚的兴趣。如果你能真正理解什么是抽象,什么是具象,就能理解为什么现代编程语言中,接口和函数类型为什么那么普遍存在了。在使用函数式语言进行编程后,就能够很清晰地理解为什么随着时间的推移,更主流的语言开始采用函数式语言中的一些被认为理所当然的特性。
我将多年间学习类型系统和编程语言开发的经验汇聚起来,加以提炼,并辅以现实世界的应用,撰写了这篇文章。本文脉络如下:
-
概述:什么是类型?为什么要引入类型的概念?
-
编程语言中的基本类型
-
类型组合
-
OOP与接口类型
-
函数类型
-
函子(Functor)和单子(Monad)
1. 概述:什么是类型?为什么要引入类型的概念?
类型系统设计的理论与日常生产软件之间存在直接的联系。这并不是一个革命性的发现:复杂的类型系统特性之所以存在,就是为了解决现实世界的问题。
本节介绍类型和类型系统,讨论它们为什么存在以及为什么有用。我们将讨论类型系统的类型,并解释类型强度、静态类型和动态类型。
两个术语:类型、类型系统
类型
类型是对数据做的一种分类,定义了能够对数据执行的操作、数据的意义,以及允许数据接受的值的集合。编译器和运行时会检查类型,以确保数据的完整性,实施访问限制,以及按照开发人员的意图来解释数据。
类型系统
类型系统是一组规则&#x
以上是关于编程语言:类型系统的本质的主要内容,如果未能解决你的问题,请参考以下文章
从Storm到Flink:大数据处理的开源系统及编程模型(文末福利)