Ключова різниця: перекладачі перекладають інструкції програмування високого рівня в проміжні коди, а потім виконують отримані коди. Компілятори переводять коди мов програмування високого рівня в коди об'єктів. Перекладачі виконують рядок по рядку, тоді як компілятори виконують отримані файли.
Інтерпретатор і компілятор відіграють дуже важливу роль у виконанні програм на комп'ютерній мові. Багато людей схильні думати, що обидва вони схожі один на одного. Проте обидва вони відрізняються в різних контекстах.
Найбільша різниця між ними полягає в тому, що компілятор безпосередньо змінює вихідний код на машинну мову, тоді як інтерпретатор виробляє середній код, а потім виконує цей код, щоб сформувати машинно зрозумілий код. Інтерпретатори та компілятори мають одне завдання перекласти вихідний код у машинний код, але вони відрізняються засобами досягнення цього перекладу. Компілятори мають діагностичні можливості і, таким чином, під час складання програми високого рівня вони можуть підказувати відповідні повідомлення про помилки. У випадку інтерпретатора, об'єктний код не зберігається і, таким чином, не може бути повторно використаний.
Компілятор виробляє об'єктний код перед створенням виконуваного файлу для того самого. Скомпільована програма безпосередньо виконується за допомогою об'єктного коду. З іншого боку, перекладач
Компілятор | Перекладач | |
Визначення | Навчання на високому рівні на машинній мові | Інструкція високого рівня в проміжний код |
Виконання | Вся програма одночасно | Рядок за рядком |
Швидкість | Швидко | Повільно |
Вартість | Низька вартість | Менше |
Використання пам'яті | Більше | Зазвичай великі суми грошей |
Несанкціонована модифікація | Важко (Щоб зрозуміти потік програми - це складне завдання) | Легко (щоб зрозуміти потік програми - це просте завдання) |
Налагодження | Важко | Легко |
Виконання отриманого коду | За допомогою комп'ютерного обладнання | За іншою програмою |
Приклад | C компілятор | BASIC |
Запуск комп'ютера | Будь-який | Інтерпретатор встановлений |