Компилятор и переводчик

Anonim

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

При написании программ на языке высокого уровня компьютер не сможет его понять. Чтобы он был полезен, вам нужно преобразовать его во что-то, что понимает компьютер. Именно здесь появляются компиляторы и интерпретаторы, поскольку они выполняют одну и ту же функцию. Основное различие между компилятором и интерпретатором заключается в выполнении кода. С помощью интерпретатора код сразу же выполняется с интерпретацией, передающей интерпретируемый код на компьютер. Для сравнения, компилятор не выполняет код. Вместо этого он записывает готовый код в диск. Затем код, записанный на диск, может быть выполнен в любое время.

Основное различие между интерпретатором и компилятором порождает другое. Поскольку при запуске программы требуется интерпретатор, вам необходимо установить интерпретатор, если вы хотите выполнить программу на своем компьютере. Это не относится к компилятору. Как только программа была скомпилирована, вам просто нужна скомпилированная программа, а не компилятор или исходный код.

Преимущество использования интерпретатора, а не компилятора - это возможность выполнять программу на компьютерах с различными операционными системами; учитывая, что у вас есть соответствующий переводчик. Когда вы компилируете программу, это будет только для конкретной операционной системы и не будет работать на других. Чтобы он запускался в другой операционной системе, вам нужно оптимизировать свой код для этой операционной системы и скомпилировать его снова.

Недостатком использования интерпретатора является добавленная накладная. Для интерпретатора потребуется некоторая вычислительная мощность, и каждая строка кода будет интерпретироваться во время выполнения. Это не тот случай, когда у вас есть скомпилированная программа, потому что операционная система может читать ее напрямую и выполнять каждую команду. Дополнительный шаг интерпретации кода заставляет интерпретированную программу работать значительно медленнее, чем скомпилированный код. Интерпретатор также не сможет воспользоваться оптимизацией ОС, которая может позволить скомпилированной программе работать более эффективно.

Выбор между компилятором и интерпретатором должен зависеть от того, хотите ли вы портативность или производительность.

Резюме:

  1. Интерпретатор непосредственно выполняет код, пока компилятор не выполняет
  2. Переводчик должен быть доступен на целевой машине, в то время как компилятор не
  3. Интерпретированная программа будет работать на нескольких платформах, тогда как скомпилированная программа не будет
  4. Интерпретированная программа будет работать медленнее, чем скомпилированная программа