Я знаю, что С# и Java. Кто-нибудь еще знает о других?
На каких языках программирования есть JIT-компиляторы?
Ответ 1
Строго говоря, JIT является свойством среды выполнения, а не языка. Педантичная точка, но подразумевается, что любой язык, который работает на JVM, например, может использовать JVM JIT. Jython, JRuby, Groovy и т.д.
У Тамарина есть JIT. Я думаю, что это может запускать JavaScript и ActionScript? Не положительно...
Ответ 2
Just-In-Time Compilation
в статье о википедии перечислены еще несколько:
- GNU lightning - библиотека, которая генерирует код языка ассемблера во время выполнения
- Mozilla nanojit - небольшая кросс-платформенная библиотека С++, которая испускает машинный код. Он используется как JIT для двигателей Mozilla Tamarin и SpiderMonkey Javascript.
И еще несколько сборочных emmiters для С++.
Что касается С# - все языки .NET используют ту же среду выполнения и jit. VB.NET, С#, F #, IronPython, IronRuby, COBOL.NET и многое другое...
Ответ 3
Lua имеет впечатляющий LuaJIT.
Схема PLT имеет JIT в течение некоторого времени.
Я считаю, что оба они ограничены x86.
Ответ 4
среда выполнения .NET использует JIT, чтобы любой язык ударил. Вы можете найти дополнительную информацию здесь.
Ответ 5
для Python существует проект PyPy, который включает в себя JIT (что делает возможным запуск кода быстрее, чем в CPython в во многих случаях)
Ответ 6
Существует некоторая путаница в том, что определяет/использует компилятор JIT: это язык программирования? это программа? среда выполнения?.
Фактически это реализация конкретного языка программирования, который предоставляет JIT-компилятор для конкретных целевых архитектур набора инструкций (x86, x86_64, PPC,...).
Например, реализация SBCL предоставляет JIT-компилятор для Common LISP, но других реализаций этого языка нет (например, CLISP).
Еще один пример: реализация Java Java-приложения OpenJDK предоставляет JIT для некоторых архитектур, но не для других (таких как ARM), где байт-код все еще интерпретируется.
В качестве побочного примечания: не забывайте язык программирования Фактора. Реализация сильно использует компилятор JIT.
Ответ 7
С++ с дополнительными библиотеками.
Ответ 8
С# не использует JIT. С# компилируется в CIL для платформы .NET, а .NET использует JIT во время выполнения.
.NET - это нечто большее, чем просто С#. Там также VB.NET, Delphi.NET, Fujitsu Cobol, IronRuby, IronPython, F # и другие. Все языки, ориентированные на платформу .NET, используют компилятор .NET JIT во время выполнения.
Ответ 9
У Smalltalk есть JIT-компиляторы.
Ответ 10
Языки программирования не используют JIT. Программы используют JIT.
С# не передает JIT С# на CIL, а CIL 'executable' запускается JIT.
Dalvik использует синтаксис Java, но скомпилирован в собственный байт-код. Dalvik VM полностью отличается от Java VM.