【发布时间】:2011-01-20 17:30:54
【问题描述】:
在阅读动态和静态类型的过程中,我不断提出这样的假设:静态类型语言是编译的,而动态类型的语言是解释的。我知道总的来说这是对的,但我对例外情况很感兴趣。
我真的希望有人不仅提供这些例外的一些示例,而且尝试解释为什么决定这些语言应该以这种方式工作。
【问题讨论】:
-
对于同一种语言有许多不同的实现,这种被编译或解释的语言的区别是没有意义的。例如,即使是主要的动态语言,如 groovy、python、lisp、javascript、ruby、lua(Norman 提到)都具有“编译”实现。更糟糕的是,“编译”和“解释”本身的定义有点模糊——我猜你可以调用静态类型的 java 和 jvm 变体解释。
标签: programming-languages type-systems dynamic-typing static-typing