Популярные ответы
Байт-код (byte-code) — относительно низкоуровневый код, предназначенный для исполнения интерпретатором; он является результатом компиляции исходного текста интерпретируемого языка.
В давние времена в процессе интерпретации непосредственно обрабатывался исходный текст программы. Вследствие такого подхода, эффективность работы интерпретируемых программ была крайне низкой: программа выполнялась в сотни раз медленнее аналогичной программы, скомпилированной в машинный код.
В настоящее время, обработка исходного текста интерпретируемой программы осуществляется в два этапа.
1. Текст программы преобразуется компилятором в байт-код.
2. Байт-код выполняется под управлением интерпретатора.
В результате использования байт-кода удается добиться того, что быстродействие интерпретируемых программ, лишь в несколько раз уступает быстродействию компилированных программ. Если же интерпретатор поддерживает JIT-компиляцию (Just-in-time compilation), различие в скорости выполнения интерпретируемой и компилированной программы становится незаметной.
Следует заметить, что, несмотря на то, что промежуточный код любого интерпретируемого языка можно назвать байт-кодом, данный термин применяется в основном для языка Java. В Perl, Python, Ruby и других подобных языках, результат компиляции чаще непосредственно называют промежуточным кодом. В C# и других языках платформы .NET промежуточный код называется IL-кодом.
Источники: