动态编程语言(Dynamic Programming Language),在运行期间完成需要其它高级语言在编译器决定的一些行为,这些行为可以被任何高级语言在足够足够复杂的情况下实现,而动态变成语言可以直接使用工具来运用这种特性。
动态语言基本的实现包括,对象的运行期行为改变(继承关系,对方法的调用),反射机制(对象树,动态类型识别),宏(提供编译器的能力,包括优化代码,改变语法,控制虚拟机,翻译器)
最后动态语言还实现闭包Closures,这个貌似是java新版本中比较有争议的特性。
动态编程语言(Dynamic Programming Language),在运行期间完成需要其它高级语言在编译器决定的一些行为,这些行为可以被任何高级语言在足够足够复杂的情况下实现,而动态变成语言可以直接使用工具来运用这种特性。
动态语言基本的实现包括,对象的运行期行为改变(继承关系,对方法的调用),反射机制(对象树,动态类型识别),宏(提供编译器的能力,包括优化代码,改变语法,控制虚拟机,翻译器)
最后动态语言还实现闭包Closures,这个貌似是java新版本中比较有争议的特性。