Компільована мова програмування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Компільована мова програмування — мова програмування, в якій початковий код перед виконанням повністю перетворюється в машинний код, і записується в файл, з особливим заголовком і/або розширенням, для ідентифікації цього файлу, як виконуваного, операційною системою. У цьому компільовані мови відрізняються від інтерпретованих мов програмування, в яких код виконується порядково, без перетворення всієї програми у форму машинного коду.

Основою реалізації компільованої мови є компілятор, який переводить початковий код в форму машинного коду.

Головні відмінності між компільованими й інтерпретованими мовами

  • швидкість виконання програми, компільованої в машинний код, перевершує швидкість інтерпретованої програми, як правило, в десятки і сотні разів;
  • у разі використання компілятора, при внесенні змін у початковий код програми, перш ніж ці зміни можна буде побачити в роботі програми, необхідно виконати компіляцію сирцевого тексту.

Класифікація мов програмування на компільовані та інтерпретовані є неточною і досить умовною, оскільки для будь-якої мови програмування може бути створений як компілятор, так і інтерпретатор. І насправді, існує багато мов, що мають у своєму інструментарії водночас і компілятор, і інтерпретатор (наприклад Ch і CINT[1] для C або Lisp). Крім того, існують реалізації мов, які компілюють початковий текст програми в байт-код, який потім виконується у віртуальній машині. Для подолання повільної роботи інтерпретаторів у сучасних скриптових мовах реалізована JIT-компіляція, яка на льоту переводить критичні ділянки сирцевого коду на машинний код. Все це привносить ще більше неясності в питання про те, де саме має бути проведена межа між компільованими та інтерпретованими мовами.

Компільовані мови програмування[ред. | ред. код]

Виноски[ред. | ред. код]

  1. What is CINT?. Архів оригіналу за 30 Вересня 2013. Процитовано 1 Жовтня 2013.

Посилання[ред. | ред. код]

Дивись також[ред. | ред. код]