(五)、程序语言

动态语言是指程序在运行时可以改变其结构,例如,新的函数可以被引进,已有的函数可以被删除等在结构上的变化。动态语言的类型检査是在运行时进行的,其优点是方便阅读,不需要写非常多的类型相关的代码;缺点是不方便调试,命名不规范时会造成读不懂、不利于理解等问题。
脚本语言代表一套与系统程序设计语言不同的协定。它们牺牲执行速度和与系统程序设计语言相关的类型长度而提供更高的编程创作力和软件重用。脚本语言更适合在联系复杂的应用程序中进行胶着。为了简化连接组件的工作,脚本语言被设计为无类型的,脚本语言一般是面向字符的,因为字符为许多不同的事物提供了一致的描述。
事实上,脚本语言都是动态语言,而动态语言都是解释型语言,不管它们是否是面向对象的语言。

解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译戍某种中间代码后洱加以执行;而编译程序(编译器)则是将源程序翻译成H标语言程序,然后在计算机上运行目标程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。简单来说,在解释方式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保存的目标程序。