动态语言、脚本语言和解释型语言之间有什么区别和联系?

解释型语言通常与编译语言相对,通常用Basic作例子;
脚本语言通常用JavaScript和VBScript语言作例子,但他们好像也是解释执行的;
动态语言通常用Ruby、Python作例子,不过JavaScript通常也被归入这种语言类型中,难道支持面向对象的脚本语言就算做是动态语言?
由于没有看到这三种语言的准确定义,所以一直没有搞清他们之间的关系,请各位大虾指导一下。谢谢!

第1个回答  推荐于2016-10-23
动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。动态语言的类型检查是在运行时做的。它的优点是方便阅读,不需要写非常多的类型相关的代码;缺点是不方便调试,命名不规范时会造成读不懂,不利于理解等。
脚本语言代表一套与系统程序设计语言不同的协定。它们牺牲执行速度和与系统程序设计语言相关的类型长度而提供更高的编程创作力和软件重用。脚本语言更适合在联系复杂的应用程序中进行胶着。为了简化连接组件的工作,脚本语言被设计为无类型的,脚本语言一般是面向字符的,因为字符为许多不同的事物提供了一致的描述。
解释型语言是指每次运行解释型程序时都要由解释器程序实时地将源代码转换成二进制形式运行。
事实上,脚本语言都是动态语言,而动态语言都是解释型语言,不管它们是不是面向对象。本回答被提问者采纳
相似回答