【发布时间】:2011-02-21 05:29:57
【问题描述】:
我知道 C# 和 Java。还有人知道其他人吗?
【问题讨论】:
标签: compiler-construction programming-languages jit
我知道 C# 和 Java。还有人知道其他人吗?
【问题讨论】:
标签: compiler-construction programming-languages jit
严格来说,JIT 是运行时的属性,而不是语言。迂腐的观点,但这意味着任何在 JVM 上运行的语言都可以利用 JVM 的 JIT。 Jython、JRuby、Groovy 等。
Tamarin 也有 JIT。我认为这可以运行 JavaScript 和 ActionScript 吗?不积极...
【讨论】:
【讨论】:
维基百科上的Just-In-Time Compilation 文章列出了更多:
还有几个 C++ 的汇编 emmiters。
至于 C# - 所有 .NET 语言都使用相同的运行时和 jit。 VB.NET、C#、F#、IronPython、IronRuby、COBOL.NET 等等...
【讨论】:
对于 Python,有一个 PyPy 项目,其中包含 JIT(在许多情况下,使代码比 CPython 运行得更快)
【讨论】:
在定义/使用 JIT 编译器方面存在一些混淆:它是一种编程语言吗?它是一个程序吗?运行时环境?
事实上,它是一种特定编程语言的实现,它为特定的目标指令集架构(x86、x86_64、PPC、...)提供 JIT 编译器。
例如,SBCL 实现为 Common LISP 提供了 JIT 编译器,但该语言的其他实现不提供(例如 CLISP)。
另一个例子,Java 虚拟机的 OpenJDK 实现为某些架构提供了 JIT,但不为仍然解释字节码的其他架构(例如 ARM)提供 JIT。
附带说明:不要忘记 Factor 编程语言。该实现大量使用 JIT 编译器。
【讨论】:
我自己不是 Julia 专家,但它是一种严重依赖 JIT 的语言。许多人在这里断言 JIT 纯粹是语言的运行时实现方面。这就是它最初的构想。但据我所知,Julia 作为一门语言的设计深受 JIT 的影响和构建。
【讨论】:
带有额外库的 C++。
【讨论】:
.NET 运行时使用 JIT,因此任何语言都能满足这一要求。您可以找到更多信息here。
【讨论】:
Smalltalk 有 JIT 编译器。
【讨论】:
C# 不使用 JIT。 C# 编译为 .NET 平台的 CIL,而 .NET 在执行时使用 JIT。
.NET 不仅仅是 C#。还有 VB.NET、Delphi.NET、Fujitsu Cobol、IronRuby、IronPython、F# 等。所有面向 .NET 平台的语言都在运行时使用 .NET JIT 编译器。
【讨论】:
编程语言不使用 JIT。程序使用 JIT。
C# 没有 JIT C# 被翻译成 CIL 并且 CIL 'executable' 运行 JIT。
Dalvik 使用 Java 的语法,但被编译成它自己的字节码。 Dalvik VM 与 Java VM 完全不同。
【讨论】:
Julia 的设计初衷就是为了工作 使用 JIT 编译器。
【讨论】: