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

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

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

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

Інтерпретовані мови програмування APL J ASP BASIC (деякі версії) thinBasic COBOL ECMAScript ActionScript DMDScript E4X JavaScript JScript Освітні та системні рішення GNU Octave IDL Mathematica MATLAB Euphoria (інтерпретована чи компільована) Forth Game Maker Language Inform Lava Madness Script Perl PHP Python Lisp Scheme Logo MUMPS (новітні версії компільовані) R REXX Ruby JRuby (реалізації Java в Ruby) Smalltalk Bistro Dolphin Smalltalk F-Script Little Smalltalk Squeak VisualAge VisualWorks Scripting languages WebDNA Електронна таблиця Excel S Tcl XOTcl

Приклад

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

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

Див. також Компілятор Інтерпретатор Компільована мова програмування

Зноски

Посилання