Давайте рассмотрим основные различия между компилятором и интерпретатором. И компилятор, и интерпретатор действуют по-разному во многих аспектах.
Компилятор против интерпретатора
КОМПИЛЬЕР:
- Компилятор принимает вся программа в качестве входных данных. Он работает со всей программой одновременно
- Он генерирует промежуточный объектный код (машинный код)
- Он выполняет операторы условного управления быстрее, чем интерпретатор
- Требуется больше памяти (поскольку создается объектный код)
- Скомпилированная программа не не нужно компилировать каждый раз
- Ошибки отображаются после проверки всей программы
- Языки программирования, использующие компиляторы: C, C++
ИНТЕРПРЕТЕР:
- Интерпретатор принимает в качестве входных данных по одному оператору за раз. Работает построчно
- Не генерирует промежуточный код (машинный код)
- Выполняет операторы условного контроля намного медленнее, чем компилятор
- Меньше требуется памяти. Он не генерирует промежуточный объектный код
- Каждый раз, когда программа более высокого уровня преобразуется в программу более низкого уровня
- Ошибки отображаются для каждой интерпретируемой инструкции (если есть)
- Языки программирования, использующие интерпретатор: Visual Basic Script, Ruby , Перл