Nic*_*ick 1 static types dynamic
我打算将此作为对我之前关于类型理论的问题的评论,但我觉得它应该得到自己的论述:
如果你有一个动态类型系统并且你在每个对象上添加一个"type"成员并在对象上执行一个函数之前验证这个"type"是一个特定的值,那么它与静态类型有何不同?(除了它是运行时而不是编译时的事实).
从技术上讲,它实际上是相反的:"动态类型"语言是静态类型语言的特例,即只有一种类型(在数学意义上).这至少是类型系统社区中许多人的观点.
编辑静态与动态检查:只能动态检查本地属性,而需要某种全局知识的属性则不能.想象一些属性,例如某些东西是独特的,没有别名的东西,一个没有竞争条件的计算.合适的静态类型系统可以验证这些属性,因为它能够在正在检查的表达式的上下文中建立某些不变量.
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |