Ответ
Компилируемый язык (C++, Swift, Go) перед выполнением целиком преобразуется (компилируется) в машинный код или промежуточный байт-код.
- Плюсы: Высокая производительность во время выполнения (AOT-компиляция).
- Минусы: Требует отдельного шага компиляции.
Интерпретируемый язык (Python, JavaScript, Ruby) выполняется построчно специальной программой-интерпретатором.
- Плюсы: Кроссплатформенность и возможность быстрого выполнения без компиляции.
- Минусы: Обычно более низкая производительность.
Примеры:
// Swift (компилируемый): файл .swift -> компилятор -> бинарный исполняемый файл
let x = 10 + 20 // Вычисляется на этапе компиляции
// JavaScript (интерпретируемый): код выполняется движком V8 построчно
let x = 10 + 20; // Вычисляется во время выполнения
Современные тенденции: Границы стираются. Многие языки используют гибридные подходы (JIT-компиляция в Java, C#), где код сначала интерпретируется, а «горячие» участки компилируются в машинный код для ускорения.