Что такое интерпретируемый язык программирования

Ответ

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

Особенности:

  • Медленнее компилируемых языков (нет оптимизации)
  • Не требует этапа компиляции
  • Кроссплатформенность (достаточно интерпретатора)
  • Динамическая типизация (часто)

Пример (JavaScript):

// Код выполняется интерпретатором (например, в браузере)
function sum(a, b) {
  return a + b;
}
console.log(sum(2, 3)); // 5

Популярные интерпретируемые языки: JavaScript, Python, PHP, Ruby.

Ответ 18+ 🔞

Давай разберёмся, что это за зверь такой — интерпретируемый язык. Представь, что у тебя есть поваренная книга, а рядом стоит повар-иностранец. Ты ему читаешь рецепт по строчке: "Возьми два яйца" — он берёт. "Разбей в миску" — он бьёт. Он не готовит всё блюдо сразу в уме, а делает шаг за шагом, по ходу пьесы. Вот этот повар — интерпретатор, а книга — твой код.

Ну и что с этого, спросишь ты?

  • Скорость? Да хуже, конечно. Компилируемый язык — это как заранее собранный и обкатанный болид "Формулы-1". А интерпретируемый — это ты на велосипеде с квадратными колёсами. Каждую строчку надо осмыслить на ходу, оптимизировать негде. Но зато...
  • Компиляция? Не, не слышали. Написал код — и сразу запускай. Никаких этих "собрал проект, жди три часа". Удобно для скриптов и быстрого похачивания.
  • Платформы? Да похуй, где работает интерпретатор, там и твой код побежит. Пишешь на Питоне — и на Windows, и на Linux, и на тостере, если для него интерпретатор найдут.
  • Типы данных? Чаще всего — динамические. Объявил переменную x, присвоил ей 5 — она число. Потом присвоил "привет" — она строка. Гибко, но иногда можно так ебонуться, что мало не покажется. Один неверный чих — и всё, пиздец, скрипт лёг.

Вот тебе живой пример (JavaScript):

// Интерпретатор (браузер) жуёт этот код на лету
function sum(a, b) {
  return a + b;
}
console.log(sum(2, 3)); // Выведет 5, если, конечно, не накосячил

Кто из известных так работает? JavaScript (царь и бог веба), Python (универсальная душа), PHP (старая, но ещё та работяга), Ruby (элегантный, но своеобразный товарищ). В общем, ебушки-воробушки, инструмент на каждый день.