动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。
静态类型定义语言
一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一 点,它要求你在使用所有变量之前要声明它们的数据类型。Java和C是静态类型定 义语言。静态类型定义语言的类型判断是在运行前判断(如编译阶段)。
动态类型定义语言
一种在执行期间才去发现数据类型的语言,与静态类型定义相反。VBScript 和Python是动态类型定义的,因为它们是在第一次给一个变量赋值的时候找出它的类型的。动态类型语言的类型检查是在运行时做的。
强类型定义语言
一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有
一个整数,如果不显示地进行转换,你不能将其视为一个字符串(在本章后面会有
更多如何去做的内容)。
弱类型定义语言
一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义
的。在VBScript中,可以将字符串 '12' 和整数 3 进行连接得到字符串 '123',
然后可以把它看成整数 123,而不需要显示转换。