有很多 oop 语言,但我找不到任何具有像垃圾收集这样的便利,但可以本地编译为机器代码的语言。有点像 C 和 java/c# 之间的东西。我发现的一种有趣的语言是 Vala,但它仅限于 GNOME 平台并且不是那么知名
问问题
1212 次
3 回答
1
Go可能是最接近的。
但是到底为什么你想要它本地编译呢?
可移植字节码的 JIT 编译已被证明是一种非常有效的策略。它在运行时编译为本机代码(因此您在最初的几次迭代后即可获得本机代码的性能),并且避免了必须构建和管理特定于平台的编译二进制文件的问题。
于 2012-06-10T17:09:32.070 回答
0
你在考虑 C++ 吗?它的使用率很高,几乎可以在任何(主要)平台上编译。
于 2012-06-10T16:59:06.480 回答
0
如果您想使用编译为本机代码的 oo 语言,您将“总是”必须使用头文件和东西,因为 elf 格式不支持 oo(elf 中没有类信息)。如果您想要使用来自外部库的类,您需要让编译器以某种方式了解在您的项目之外声明的类、函数等这一事实。在 C++ 中,这是通过使用头文件来解决的。所以,我认为,这是本机面向对象语言的一个主要缺点。为了解决这个问题,需要对 elf/loader/linker 进行一些调整,以支持您可能期望的那种特性(如“链接”与“类”)。即使垃圾收集机制甚至可以用本机语言实现。
于 2014-12-02T09:52:00.767 回答