编译型语言
需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言
代表语言:C、C++、Pascal、Object-C以及最近很火的苹果新语言Swift
解释型语言
解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译
代表语言:JavaScript、Python、Erlang、PHP、Perl、Ruby
混合型语言
结合编译型语言和解释型语言的优缺点
代表语言:c#、.net、
动态类型语言
在运行期间才去做数据类型检查的语言,说的是数据类型
如:Python、Ruby、Erlang、JavaScript、swift、PHP、Perl
静态类型语言
静态语言的数据类型是在编译其间确定的或者说运行之前确定的,编写代码的时候要明确确定变量的数据类型。
如C、C++、C#、Java、Object-C。
动态语言
在运行时代码可以根据某些条件改变自身结构。
如:Object-C、C#、JavaScript、PHP、Python、Erlang
静态语言
与动态语言相对应
如:Java、C、C++
强类型语言
一旦一个变量被指定了某个数据类型,如果不经过强制类型转换,那么它就永远是这个数据类型
如:Java、C#、Python、Object-C、Ruby
弱类型语言
数据类型可以被忽略,一个变量可以赋不同数据类型的值
如:JavaScript、PHP、C、C++(C和C++有争议,但是确实可以给一个字符变量赋整形值,可能初衷是强类型,形态上接近弱类型)