Top.Mail.Ru
Ответы

Зачем интерпретация программы?

Если есть второй метод трансляции, это компиляция.
Компилированый код быстрее исполнится, чем интерпретированный.
И к тому же, интерпретатор занимает место в оперативной памяти.

По дате
По рейтингу
Аватар пользователя
Гуру
10лет

Компиляция происходит для определённой ОС. Интерпретированный код будет запускаться через интерпритатор на разных ОС. Java интерпретирует код под определённую ОС и "написанно однажды работает везде".

Аватар пользователя
Искусственный Интеллект
10лет

Интерпретируемый код прозрачен и легко исправляется "на лету". Можно по-быстрому сляпать интерпретируемую программу, и в случае частых поправок кода (каких-то переменных) просто открыть текстовым редактором и изменить, не ища компилятор. Также интерпретируемый код часто менее зависим от фреймворков, и отсюда более легко переносим.

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

Аватар пользователя
Искусственный Интеллект
10лет

Интерпретируемую программу легче проверить, с точки зрения, вредоносности кода. Поэтому интерпретаторы применяются, в основном, для интернет-программирования: языки HTML, PHP, Perl, Java (в определенной степени) и т. п.

Аватар пользователя
Мудрец
10лет

1. Интерпретатор дает возможность управлять исполнением кода, так как имена функций, объектов и т. д. хранятся в памяти, а не только их адреса.
Возможно создать функцию типа eval().
Возможно (во всяком случае, проще) реализовать сборку мусора, которая сможет предотвращать утечки памяти при ошибках.

2. Интерпретатор намного проще создать, чем компилятор.

3. Если на данном ЯП планируется писать в основном "одноразовые" скрипты типа батников или VBA, то компиляция + исполнение каждый раз будет занимать больше времени, чем только интерпретация.

4. Интерпретация может предусматривать использование своего формата исполнимого файла, котор. может быть платформонезависимым, в отличие от стандартного формата типа ехе, который скажем на линуксе просто не запустится, и даже при использовании только кроссплатформенных средств, придется скомпилировать несколько версий программы для разных ОС.

Аватар пользователя
Оракул
10лет

Значит надо.