动态/静态语言&强/弱类型

166 阅读1分钟

静态类型语言

如果在编译时知道变量的类型,则该语言是静态类型的。我们经常说道的Java、C、C++在写代码的时候必须指定每个变量的类型。 优点就是编译器可以执行各种检查,也就是程序还没跑起来就能找到一些小错误,也就是是在compile-time 检查出错误的。

动态类型语言

一般是脚本语言,比如说Perl、Ruby、Python、PHP、JavaScript,可以更快地编写代码,不必每次都指定类型,做type checking是在run-time的时候去做的。优点是可能代码开发快,但是维护难(但是脚本语言平常写的代码量应该不太多,还比较好debug和修改)

动态语言是“微机时代”的代表,为编写KB级项目而设计的,从技术上讲非常过时。windows95出现之后,绝大多数动态语言都“死掉”了。

强/弱类型

弱/强类型指的是语言类型系统的类型检查的严格程度。

弱类型相对于强类型来说类型检查更不严格,比如说允许变量类型的隐式转换,允许强制类型转换等等。强类型语言一般不允许这么做。