В тази статия ще научите разликите между интерпретаторите и компилаторите.
Обикновено пишем компютърна програма, използваща език на високо ниво. Езикът на високо ниво е разбираем за нас, хората. Това се нарича изходен код .
Компютърът обаче не разбира език на високо ниво. Той разбира само програмата, написана в 0 и 1 в двоичен файл, наречена машинен код .
За да конвертираме изходния код в машинен код, използваме компилатор или интерпретатор .
И компилаторите, и интерпретаторите се използват за преобразуване на програма, написана на език от високо ниво, в машинен код, разбираем от компютрите. Съществуват обаче разлики между начина на работа на интерпретатора и компилатора.
Преводач срещу компилатор
Преводач | Съставител |
---|---|
Превежда програмата по едно изявление. | Сканира цялата програма и я превежда като цяло в машинен код. |
Преводачите обикновено отнемат по-малко време за анализ на изходния код. Общото време за изпълнение обаче е сравнително по-бавно от компилаторите. | Компилаторите обикновено отнемат много време, за да анализират изходния код. Общото време за изпълнение обаче е сравнително по-бързо от интерпретаторите. |
Не се генерира междинен обектен код, следователно има ефективна памет. | Генерира междинен обектен код, който освен това изисква свързване, следователно изисква повече памет. |
Езици за програмиране като JavaScript, Python, Ruby използват интерпретатори. | Езици за програмиране като C, C ++, Java използват компилатори. |
Работа на съставител и преводач
![](https://cdn.wiki-base.com/9260454/interpreter_vs_compiler_differences_between_interpreter_and_compiler.png.webp)