动态类型语言&动态语言

来源:互联网 发布:excel 数据收集 编辑:程序博客网 时间:2024/04/29 20:33

首先,这是两个不同的概念

动态语言 dynamic programming language

程序运行时,允许改变程序结构(例如引进新函数、删除旧函数)或变量类型。
从这个观点来看,Perl、Python、Ruby是动态语言,C++、Java、C#不是动态语言

动态类型语言 dynamically typed language

在运行期检查变量类型的语言,也就是在编写代码的时候可以不指定变量的数据类型,例如Python、Ruby。动态类型语言中,变量没有类型,而值有类型

静态类型语言 statically typed language

变量的数据类型在编译期声明以后,不能再改变其数据类型,即变量在使用前必须先声明类型。检查在编译期进行,好处是编译期提前检查可能出现的错误,例如C++、Java