我听说这些(例如Groovy)语言能够在运行时更改变量名称或动态动态!你的动态语言是什么意思?在运行时期间更改任何值的真正需求是什么?这是不是会引起混淆,因为在运行时如果你改变了任何值(或者你的编程改变者改变了什么),那么需要编译(因为它决定并确认这些值会被使用,那么就没有意义了动态改变它?我知道应该有一些有用的东西,所以只有人们介绍了这些概念!
我想我对自己的问题很清楚!我需要一些简短的解释:)
答案 0 :(得分:1)
三点:
1)是的,这就是'动态语言'的意思 - 你可以在运行时向类添加方法是动态语言的一个共同特征(例如)。
2)你提出一个很好的观点,即这种能力可能会导致混乱的运行时问题。动态语言的支持者会说这个功能的好处远远不够。元编程能够非常强大。
3)编译时间检查仍然可以帮助开发动态语言,如果只是语法检查。但是,对于动态语言,您确实会失去一些非动态语言的编译时安全性。请注意,某些动态语言会被解释(例如javascript),因此它有点无用。