Компиляторы и интерпретаторы — это программы, которые помогают преобразовывать язык высокого уровня (исходный код) в машинные коды (двоичные системы), понятные компьютерам. Язык высокого уровня — это язык, понятный человеку. язык низкого уровня — это язык, представленный в формах 0 или 1, которые являются машинными инструкциями.
язык высокого уровня содержит слова и фразы из общеупотребительных языков. поэтому компьютеры не могут понимать языки высокого уровня. Они могут понимать только двоичные системы (машинный код). программы обычно пишутся на языке высокого уровня. и они должны быть преобразованы в машинный язык. поэтому компиляторы и интерпретаторы будут выполнять работу по преобразованию, но по-разному.

Путь интерпретатора

1- переводит только один оператор программы (строка за строкой) за раз в машинный код.

2- занимает очень короткое время, чтобы проанализировать это утверждение. но ! общее время выполнения процесса будет медленным, но у этой вещи есть преимущество в следующем пункте.

3- если обнаружена какая-либо ошибка, интерпретатор перестает работать, поэтому отладка становится легкой.

4- Интерпретатор никогда не генерирует промежуточный машинный код, поэтому память не требуется.

5- язык, использующий интерпретатор (PHP, Python, javaScript).

Компилятор

1- сканирует всю программу и сразу переводит ее в машинный код.

2- занимает много времени, чтобы проанализировать программу. но ! общее время выполнения процесса будет быстрым, потому что вся программа переводится в машинный код, а не только строка.

3- сообщения об ошибках будут генерироваться только после завершения компиляции, что усложняет отладку.

4-Компилятор всегда генерирует промежуточный объектный код. это означает, что требуется больше памяти.

5- язык, использующий интерпретатор (Java, C#, C++).