【发布时间】:2010-03-26 00:23:47
【问题描述】:
解释型语言通常更高级,因此具有动态类型(包括动态创建新变量而无需声明)、臭名昭著的eval 以及许多其他使程序员的生活更轻松的特性 - 但为什么不能编译语言也有这些?
我不是指像 Java 这样在 VM 上运行的语言,而是那些像 C(++) 这样编译成二进制的语言。
我现在不打算列出清单,但是如果您要问我指的是哪些功能,请查看 PHP、Python、Ruby 等必须提供的功能。
- 解释语言的哪些共同特性不能/不/不存在于编译语言中?为什么?
【问题讨论】:
-
这应该是社区维基,因为它没有明确的答案(我什至不确定它不会被关闭)。请按“编辑”并选中“社区维基”框。
-
另外,我不认为 Java 和 C++ 之间的区别值得讨论。
-
看看stackoverflow.com/questions/2147662 了解一些类似的想法!
-
答案是否定的。编译器实现可以做任何解释器实现可以做的事情。
标签: language-agnostic programming-languages