КОМПИЛЯТОР ПРОТИВ ИНТЕРПРЕТАТОРА

Давайте рассмотрим основные различия между компилятором и интерпретатором. И компилятор, и интерпретатор действуют по-разному во многих аспектах.

COMPILER VS INTERPRETER

Компилятор против интерпретатора

КОМПИЛЬЕР:

  1. Компилятор принимает вся программа в качестве входных данных. Он работает со всей программой одновременно
  2. Он генерирует промежуточный объектный код (машинный код)
  3. Он выполняет операторы условного управления быстрее, чем интерпретатор
  4. Требуется больше памяти (поскольку создается объектный код)
  5. Скомпилированная программа не не нужно компилировать каждый раз
  6. Ошибки отображаются после проверки всей программы
  7. Языки программирования, использующие компиляторы: C, C++

ИНТЕРПРЕТЕР:

  1. Интерпретатор принимает в качестве входных данных по одному оператору за раз. Работает построчно
  2. Не генерирует промежуточный код (машинный код)
  3. Выполняет операторы условного контроля намного медленнее, чем компилятор
  4. Меньше требуется памяти. Он не генерирует промежуточный объектный код
  5. Каждый раз, когда программа более высокого уровня преобразуется в программу более низкого уровня
  6. Ошибки отображаются для каждой интерпретируемой инструкции (если есть)
  7. Языки программирования, использующие интерпретатор: Visual Basic Script, Ruby , Перл

 

КОМПИЛЬЕР

ИНТЕРПРЕТЕР

Компилятор принимает на вход всю программу. Он работает сразу со всей программой

Interpreter принимает в качестве входных данных по одному оператору за раз. Он работает построчно

Генерирует промежуточный объектный код (машинный код)

Не генерирует промежуточный код (машинный код)

Выполняет условное операторы управления быстрее, чем интерпретатор

Он выполняет операторы условного управления намного медленнее, чем компилятор

Требуется больше памяти (поскольку генерируется объектный код )

Требования к памяти меньше. Он не генерирует промежуточный объектный код

Скомпилированную программу не нужно компилировать каждый раз

Каждый раз более высокий уровень программа преобразуется в программу более низкого уровня

Ошибки отображаются после проверки всей программы

Ошибки отображаются для каждой интерпретируемой инструкции ( если есть)

Языки программирования, использующие компиляторы: C, C++

Языки программирования, использующие интерпретатор: Visual Basic Script, Ruby , Перл
TAG: qa