У цій статті ви дізнаєтесь про відмінності між перекладачами та компіляторами.
Як правило, ми пишемо комп’ютерну програму, використовуючи мову високого рівня. Мова високого рівня - це зрозуміла нам, людям. Це називається вихідним кодом .
Однак комп’ютер не розуміє мови високого рівня. Він розуміє лише програму, записану в 0 і 1 в двійковому вигляді, що називається машинним кодом .
Для перетворення вихідного коду в машинний код ми використовуємо компілятор або інтерпретатор .
І компілятори, і інтерпретатори використовуються для перетворення програми, написаної мовою високого рівня, у машинний код, зрозумілий комп'ютерам. Однак існують відмінності між тим, як працює інтерпретатор та компілятор.
Перекладач проти компілятора
Перекладач | Укладач |
---|---|
Перекладає програму по одному твердженню за раз. | Сканує всю програму та перетворює її у цілому у машинний код. |
Перекладачі зазвичай займають менше часу для аналізу вихідного коду. Однак загальний час виконання порівняно повільніший, ніж компілятори. | Компілятори зазвичай займають багато часу для аналізу вихідного коду. Однак загальний час виконання порівняно швидший, ніж перекладачі. |
Жодний проміжний об’єктний код не генерується, отже, ефективні для пам'яті. | Генерує проміжний об'єктний код, який додатково вимагає зв'язування, отже, вимагає більше пам'яті. |
Мови програмування, такі як JavaScript, Python, Ruby, використовують інтерпретатори. | Мови програмування, такі як C, C ++, Java використовують компілятори. |
Робота упорядника та перекладача
![](https://cdn.wiki-base.com/9260454/interpreter_vs_compiler_differences_between_interpreter_and_compiler.png.webp)