1) 显然还有其他人:http://en.wikipedia.org/wiki/Type_system
2)
Dynamic => 类型检查在运行时完成(程序执行),例如蟒蛇。
Static(与动态相反)=> 类型检查在编译时完成,例如C++
Strong => 一旦类型系统确定一个特定的对象是一种类型,它就不允许它被用作另一种类型。例如蟒蛇
Weak(相对于 Strong)=> 类型系统允许更改对象类型。例如perl 允许您将数字作为字符串读取,然后再次将其用作数字
Type safety => 我只能用“C”语句来最好地描述,例如:
x = (int *) malloc (...);
malloc 返回一个 (void *),我们只需将其类型转换为 (int *)。在编译时没有检查函数 malloc 返回的指针实际上是整数的大小 => 一些 C 操作不是类型安全的。
有人告诉我,一些“纯函数式”语言本质上是类型安全的,但我不知道这些语言中的任何一种。我认为标准 ML 或 Haskell 将是类型安全的。
3) “如果一种语言允许您在运行时更改变量的类型(例如,用于存储 int 的变量后来用于存储字符串),那属于什么类别?”:
这可能是动态的——变量是无类型的,值可以携带隐式或显式类型信息;或者,类型系统可能能够处理改变类型的变量,并且是静态类型系统。
4) Python:它是动态且强类型的。类型安全是我不知道python(以及类型安全本身)的东西。
5)“关于类型系统,我还有什么需要了解的吗?”:也许可以阅读@BasileStarynkevitch 建议的书?