Компиляторы и интерпретаторы — это программы, которые помогают преобразовывать язык высокого уровня (исходный код) в машинные коды (двоичные системы), понятные компьютерам. Язык высокого уровня — это язык, понятный человеку. язык низкого уровня — это язык, представленный в формах 0 или 1, которые являются машинными инструкциями.
язык высокого уровня содержит слова и фразы из общеупотребительных языков. поэтому компьютеры не могут понимать языки высокого уровня. Они могут понимать только двоичные системы (машинный код). программы обычно пишутся на языке высокого уровня. и они должны быть преобразованы в машинный язык. поэтому компиляторы и интерпретаторы будут выполнять работу по преобразованию, но по-разному.
Путь интерпретатора
1- переводит только один оператор программы (строка за строкой) за раз в машинный код.
2- занимает очень короткое время, чтобы проанализировать это утверждение. но ! общее время выполнения процесса будет медленным, но у этой вещи есть преимущество в следующем пункте.
3- если обнаружена какая-либо ошибка, интерпретатор перестает работать, поэтому отладка становится легкой.
4- Интерпретатор никогда не генерирует промежуточный машинный код, поэтому память не требуется.
5- язык, использующий интерпретатор (PHP, Python, javaScript).
Компилятор
1- сканирует всю программу и сразу переводит ее в машинный код.
2- занимает много времени, чтобы проанализировать программу. но ! общее время выполнения процесса будет быстрым, потому что вся программа переводится в машинный код, а не только строка.
3- сообщения об ошибках будут генерироваться только после завершения компиляции, что усложняет отладку.
4-Компилятор всегда генерирует промежуточный объектный код. это означает, что требуется больше памяти.
5- язык, использующий интерпретатор (Java, C#, C++).