Інтерпретована мова програмування
Інтерпретована мова програмування — мова програмування, в якій сирцевий код програми не перетворюється попередньо повністю у машинний код для виконання, як у компільованих мовах, а виконується рядок за рядком з допомогою спеціальної програми-інтерпретатора.
Головні відмінності між компільованими й інтерпретованими мовами
- швидкість виконання програми, компільованої в машинний код, перевершує швидкість інтерпретованої програми, як правило, в десятки і сотні разів;
- у разі використання компілятора, при внесенні змін у сирцевий код програми, перш ніж ці зміни можна буде побачити в роботі програми, необхідно виконати компіляцію сирцевого тексту.
У загальному випадку, будь-яка мова може бути компільованою і інтерпретованою, так що це розділення належить до практики застосування мови, а не є її властивістю. При цьому, для багатьох мов існує відмінність у продуктивності між компільованою та інтерпретованою реалізацією.
Велика кількість мов, включаючи BASIC, C, Lisp, Pascal і Python, мають обидві реалізації. У Java використовується JIT-компіляція для генерації машинного коду, хоча спочатку він переводиться в інтерпретавану форму. Мови Microsoft .NET Framework компілюються в Common Intermediate Language, яка під час виконання компілюється в машинний код. Більшість реалізацій Lisp дозволяють змішувати обидва види коду.
Інтерпретовані мови програмування
- APL
- ASP
- BASIC (деякі версії)
- thinBasic
- COBOL
- ECMAScript
- ActionScript
- DMDScript
- E4X
- JavaScript
- JScript
- Освітні та системні рішення
- Euphoria (інтерпретована чи компільована)
- Forth
- Game Maker Language
- Inform
- Lava
- Madness Script
- Perl
- PHP
- Python
- Lisp
- MUMPS (новітні версії компільовані)
- R
- REXX
- Ruby
- JRuby (реалізації Java в Ruby)
- Smalltalk
- Scripting languages
- WebDNA
- Spreadsheets
- S
- Tcl
- XOTcl
Приклад
Програма helloworld на мові Python може містити лише один рядок:
print "Hello world!"
Інтерпретатор цієї мови (який сам, у свою чергу, написаний на звичайній мові програмування) зможе виконати цю програму і вивести результат.