首页 > 代码库 > 动态语言和静态语言的区别

动态语言和静态语言的区别

这几天学习Python,对于“动态语言”这个概念原本没有太多、太深的理解,今天无意中看到一篇博文,终于算是理解了,总结一下,以备后续查阅:

 

定义:

动态类型语言:

在程序运行期间检查数据的类型的语言。用这类语言编程,不用给变量指定类型,而是在赋值时得到数据类型。如:Python和ruby就是典型动态类型语言。比如:

x = 12print x

以上代码中的变量x并没有指定其类型


静态类型语言:

相反静态类型语言是在运行前编译时检查类型。在写代码时,每声明一个变量必须指定类型。如:java,c#,c,c++等等。比如:

public int add(int a,int b){        return a+b;}

 

动态编程语言:

动态编程语言(Dynamic Programming Language)指在程序运行过程中可以改变数据类型的结构,对象的函数,变量可以被修改删除。比如:javascrīpt就是这类语言,ruby, python也属于这类语言。而c++,java不属于这类语言,当然静态编程语言 是运行时不可改变结构了。

 

动态语言和静态语言的区别