Недостатки

Достоинства

· Бо́льшая переносимость интерпретируемых программ – программа будет работать на любой платформе, на которой есть соответствующий интерпретатор.

· Как правило, более совершенные и наглядные средства диагностики ошибок в исходных кодах.

· Упрощение отладки исходных кодов программ.

· Возможность декомпиляции кода в исходный текст (не для всех случаев).

· Меньшие размеры кода по сравнению с машинным кодом, полученным после обычных компиляторов.

· Ничем не ограниченная гибкость возможностей. Разработчики вынуждены "огрублять" их, чтобы неискушенные программисты не разрушили систему.

· Следует заметить, что перечисленные недостатки не являются типичными для всех интерпретаторов. Ряд вариантов Forth и продуктов из его семейства по этим параметрам превосходит все компиляторы.

· Интерпретируемая программа не может выполняться отдельно без программы-интерпретатора (но иногда интерпретатор занимает всего несколько байт кода).

· Интерпретируемая программа выполняется медленнее, поскольку промежуточный анализ исходного кода и планирование его выполнения требуют дополнительного времени в сравнении с непосредственным исполнением машинного кода, в который мог бы быть скомпилирован исходный код (общий результат может сильно зависеть от конкретной системы: интерпретаторы могут работать быстрее за счет экономии на вызовах подпрограмм и более экономной компоновки. В малогабаритном коде реже требуется обращение к диску).

· Практически отсутствует оптимизация кода, что приводит к дополнительным потерям в скорости работы интерпретируемых программ (в ряде программ оптимизация, сделанная программистом, намного совершеннее "оптимизации" компилятором).