我听说这些语言(例如Groovy)能够在运行时更改变量名称或调用方法动态!你所说的动态语言是什么意思?在运行时更改任何值的真正需要是什么?这并不会导致混淆,因为在运行时,如果您更改了任何值(或者您的编程参与者更改了任何内容),那么编译有什么必要(因为它决定并确认这些值将被使用,那么动态地更改它就没有意义了)?我知道应该有一些有用的东西,所以只有人们介绍了这些概念!
我想我的问题已经很清楚了!我需要一些简短的解释:)
发布于 2011-03-05 18:09:16
3点:
1)是的,这就是“动态语言”的意思--您可以在运行时将方法添加到类中,这是动态语言的一个常见特性(例如)。
2)您提出了一个很好的观点,即这种能力可能导致令人困惑的运行时问题。动态语言的支持者会说,这种功能的好处大于缺点。能够使用元程序是非常强大的。
3)编译时检查仍然有助于动态语言的开发,即使只是语法检查。然而,使用动态语言,您确实会失去一些非动态语言的编译时安全性。请注意,一些动态语言(例如javascript)会被解释,因此它是一个模拟点。
https://stackoverflow.com/questions/5204692
复制相似问题