Ответ
Интерпретируемый язык — это язык программирования, исходный код которого выполняется специальной программой (интерпретатором) построчно, без предварительного преобразования всей программы в машинный код.
Ключевые отличия от компилируемых языков (Go, C++, Rust):
- Процесс выполнения: Интерпретируемый код выполняется сразу, компилируемый — сначала компилируется в исполняемый файл, а затем запускается.
- Скорость: Компилируемые языки обычно значительно быстрее, так как код заранее оптимизирован под конкретную архитектуру. Интерпретация добавляет накладные расходы во время выполнения.
- Кроссплатформенность: Код на интерпретируемом языке будет работать везде, где есть интерпретатор. Для компилируемого языка нужна отдельная компиляция под каждую ОС и архитектуру.
- Гибкость: Интерпретируемые языки часто поддерживают динамическую типизацию и более гибкую работу с кодом во время выполнения (runtime).
Примеры интерпретируемых языков: Python, JavaScript, Ruby, PHP.
# Пример на Python
name = "World"
print(f"Hello, {name}") # Каждая строка выполняется интерпретатором последовательно
Отношение к Go:
Go — это строго компилируемый язык. Команда go run
создает иллюзию интерпретации, но на самом деле она компилирует код во временный исполняемый файл и тут же его запускает, скрывая от пользователя промежуточный шаг.