Компільовані й інтерпретовані мови програмування

Компільовані й інтерпретовані мови програмування

Теги:
  • Мови програмування
  • технології

Бажають освоїти мову програмування стикаються з такими поняттями, як компілятор і інтерпретатор. Компіляція і інтерпретація - це основа роботи мов програмування.

Компільовані й інтерпретовані мови програмування

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

Ми покладаємося на такі інструменти, як компіляція і інтерпретація, щоб перетворити наш код в форму, зрозумілу комп'ютеру. Код може бути виконаний нативної, в операційній системі після конвертації в машинний (шляхом компіляції) або ж виконуватися через підрядник іншою програмою, яка робить це замість ОС (інтерпретатор).

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

Як правило, скомпільовані програми виконуються швидше і не вимагають для виконання додаткових програм, так як вже переведені на машинну мову. Разом з тим при кожній зміні тексту програми потрібно її перекомпіляція, що створює труднощі при розробці. Крім того, скомпільована програма може виконуватися тільки на тому ж типі комп'ютерів і, як правило, під тією ж операційною системою, на яку був розрахований компілятор. Щоб створити виконуваний файл для машини іншого типу, потрібна нова компіляція.

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

Прикладами компільованих мов є Pascal, C, C ++, Erlang, Haskell, Rust, Go, Ada.

Якщо програма написана на интерпретируемом мовою, то інтерпретатор безпосередньо виконує (інтерпретує) її текст без попереднього перекладу. При цьому програма залишається мовою оригіналу і не може бути запущена без інтерпретатора. Можна сказати, що процесор комп'ютера - це інтерпретатор машинного коду. Коротко кажучи, інтерпретатор перекладає на машинний мову прямо під час виконання програми.

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

Багато мови в наші дні мають як компільовані, так і інтерпретовані реалізації, зводячи різницю між ними до мінімуму. Деякі мови, наприклад, Java і C #, знаходяться між компільовані і інтерпретуються. А саме, програма компілюється не в машинний мову, а в машинно-незалежний код низького рівня, байт-код. Далі байт-код виконується віртуальною машиною. Для виконання байт-коду зазвичай використовується інтерпретація, хоча окремі його частини для прискорення роботи програми можуть бути трансльовані в машинний код безпосередньо під час виконання програми за технологією компіляції «на льоту». Для Java байт-код виповнюється віртуальною машиною Java (Java Virtual Machine, JVM), для C # - Common Language Runtime.

Передрук статті допускається тільки при наявності активного посилання на сайт itmentor.by