Інтерпретована мова програмування

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

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

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

У загальному випадку, будь-яка мова може бути компільованою і інтерпретованою, так що це розділення належить до практики застосування мови, а не є її властивістю. При цьому, для багатьох мов існує відмінність у продуктивності між компільованою та інтерпретованою реалізацією.

Велика кількість мов, включаючи BASIC, C, Lisp, Pascal і Python, мають обидві реалізації. У Java використовується JIT-компіляція для генерації машинного коду, хоча спочатку він переводиться в інтерпретавану форму. Мови Microsoft .NET Framework компілюються в Common Intermediate Language, яка під час виконання компілюється в машинний код. Більшість реалізацій Lisp дозволяють змішувати обидва види коду.

Інтерпретовані мови програмування

Приклад

Програма helloworld на мові Python може містити лише один рядок:

 print("Hello world!")

Інтерпретатор цієї мови (який сам, у свою чергу, написаний на звичайній мові програмування) зможе виконати цю програму і вивести результат.

Див. також

Зноски

  1. Application programming on z/OS: Compiled versus interpreted languages. www.ibm.com (амер.). Процитовано 7 листопада 2024.

Посилання