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

Почему интерпретаторы медленей компиляторов ?? В чем их различия ??

Компилятор не может быть "быстрее" интерпретатора. Это программы с разным предназначением. Компилятор преобразует что-то во что-нибудь другое по определенным правилам, т. е. результатом его работы будет какой-то артефакт - трансформированный исходный код, байткод, машинный код и т. п.
Интерпретатор же предназначен для выполнения определенного набора знакомых ему инструкций по определенным правилам. Результатом его работы зачастую будет изменение состояния какого-нибудь процесса, например виртуальной машины.

Более того, можно сказать, что многие компиляторы по своей сути являются интерпретаторами. Они проходят по абстрактному синтаксическому дереву (АСД) компилируемой программы и выполняют заложенные инструкции, а результатом выполнения (измененным состоянием процесса) при этом будет какой-нибудь буфер, содержащий сгенерированный байткод, машинный код или другое АСД (оптимизирующий компилятор).
Игорь Клюй
Игорь Клюй
450
Лучший ответ
Запрос в гуглояндекс: "что такое компилятор", "что такое интерпретатор". В целом интерпретатор можно сравнить с переводчиком-синхронистом: он переводит текущую строку, моментально забывая все остальное. Компилятор - это уже художественный перевод: прочитал всё, а потом перевел на свой лад.
ME
Mr. Exclusive
74 067
Эти вещи сравнивать нельзя, интерпретатор - интерпретирует код (исполняет) , а компилятор - компилирует, в байт код (не исполняет) , а уже скомпилированный файл исполняется ОС.

Тебе нужно почитать информацию чем отличаются интерпретируемые программы от скомпилированных
Ты не прочитал об отличии ихочешь чтобы за тебя кто-то сделал и передал в искажённой форме?
Халяву в себе развиваешь? Программерая это не к лицу.. .

___Интерпретаторы преобразуют код по ходу выполнения программы и само это уже увеличивает время выполнения, плюс они не могут особо тратить время на оптимизацию кода, так как это тоже в реальном времени происходит.

___Компиляторы из кода программы лепят исполняемый код ещё во время отладки программы, при этом могут себе позволить тратить время на оптимизацию.

Это если кратно и поверхностно. Вообще, из самих названий понятно, что они делают и в чём отличие.
Компилятор обрабатывает всю программу и переводит ее в команды целевой платформы один раз, причем это делается до запуска программы на исполнение. Получается, что время трансляции не включается по время исполнения.

Интерпретатор транслирует программу непосредственно в процессе выполнения программы. То есть - время исполнения программы включает и время, потраченное на работу и время, потраченное на трансляцию. Поэтому интерпретаторы и работают медленнее. Конечно, при условии, что компилятор и интерпретатор генерируют сопоставимый по качеству код. Правда обычно компиляторы генерируют лучший код - потому что они не ограничены по времени, в отличии от интерпретаторов.