Байт-код: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
TeoBot (обговорення | внесок)
→‎Посилання: checkwiki за допомогою AWB
Немає опису редагування
Рядок 1:
'''Байт-код''' або '''байтко́д''' ({{lang-en|byte-code}}), іноді також використовується термін '''псевдокод''' — машинно-незалежний код низького рівня, що генерується [[транслятор]]ом і виконуваний [[інтерпретатор]]ом. Більшість інструкцій байт-кода еквівалентні одній або кільком командам асемблера. Трансляція в байт-код займає проміжне положення між компіляцією в машинний код і інтерпретацією.
 
Байт-код називається так, тому, що довжина кожного коду операції — один байт, але довжина коду команди різна. Кожна інструкція є однобайтовим кодом операції від 0 до 255, за яким слідують такі параметри, як регістри або адреси пам'яті. Це в типовому випадку, але специфікація байт-кодакоду значно розрізняєтьсявідрізняється в мовімовах програмування.
 
Програма на байт-коді зазвичай виконується інтерпретатором байт-кода (зазвичай він називається [[віртуальна машина|віртуальною машиною]], оскільки подібний до комп'ютера). Перевага — в портованості, тобто один і той байт-код може виконуватися на різних платформах і архітектурі. Ту ж саму перевагу дають мови, що інтерпретуються. Проте, оскільки байт-код зазвичай менш абстрактний, компактніший і більш «комп'ютерний» ніж початковий код, ефективність байт-кода зазвичай вища, ніж чиста інтерпретація початкового коду, призначеного для правки людиною. З цієї причини багато сучасних інтерпетованих мов насправді транслюють в байт-код і запускають інтерпретатор байт-кода. До таких мов відносяться [[Perl]], [[PHP]] і [[Python]]. Програми на [[Java]] зазвичай передаються на цільову машину у вигляді байт-кода, який перед виконання транслюється в машинний код «на льоту» — за допомогою [[JIT-компіляція|JIT-компіляції]]. У стандарті відкритих завантажувачів Open Firmware фірми [[Sun Microsystems]] байт-код представляє оператори мови [[Forth]].