Другие языки программирования и технологии

Почему php интерпретатор а не компилятор? Зачем вообще нужны интерпретаторы если они медленнее?

Для кроссплатформенности в основном.
>Но ведь все равно нужно под каждую платформу делать интерпретатор (можно сделать компилятор вместо этого)
Можно. Но на порядок сложнее, и поддерживать тоже.
К тому же - выходит новое ядро Линукса, допустим, и ВСЕ твои программы надо перекомпилировать. А так - только интерпретатор.
Олег Тишкин
Олег Тишкин
86 508
Лучший ответ
пэхопе нельзя назвать чисто интерпритатором, так как он транслирует скрипты в байт-код а уже потом интерпритирует этот байт-код а не сам скрипт, отсюда повышается быстродействие
Достоинства и недостатки интерпретаторов
Достоинства

* Бо́льшая переносимость интерпретируемых программ — программа будет работать на любой платформе, на которой есть соответствующий интерпретатор.
* Как правило, более совершенные и наглядные средства диагностики ошибок в исходных кодах.
* Упрощение отладки исходных кодов программ.
* Меньшие размеры кода по сравнению с машинным кодом, полученным после обычных компиляторов.

Недостатки

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

И для кроссплатформенности тоже - программа будет работать на любой платформе, на которой есть соответствующий интерпретатор.