Компілятори й інтерпретатори.
Історія створення мови програмування PASCAL
Мова програмування PASCAL з’явилася, як «спадкоємець» найбільш популярної мови програмування АЛГОЛ. Заслуга в розробці мови Pascal належить відомому Швейцарському математикові Ніклаусу Вірту, – професорові, директорові Інституту інформатики Швейцарської вищої політехнічної школи, Цюрих.
Створена на початку 70-х років і названа на честь видатного французького математика і філософа Блеза Паскаля (1623–1662) – винахідника першої у світі механічної обчислювальної машини. Спочатку вона призначалася винятково для навчання студентів методам програмування (розробки компіляторів). Незабаром мова Pascal завоювала небувалу популярність. Цьому сприяли її простота й зрозумілість, а також ефективність одержуваних з її допомогою кодів програм. На той час Паскаль – це мова для навчання програмуванню як систематичній дисципліні. А головне – ця мова дозволила реалізувати методи структурного й системного програмування (так зване, спадне програмування на основі методу покрокової деталізації). Поступово Pascal стали використовувати не тільки для навчання, але й для розробки програмних засобів у професійному програмуванні. У цей час Pascal давно вийшов з рангу кабінетної, навчальної мови. І знайшов своє гідне продовження, прекрасне розширення, як мова Object Pascal, як складова частина, ядро, реальна основа мови візуального програмування на DELPHI.
Отже, як було зазначено вище, для перекладу тексту програми на мову, зрозумілу комп’ютеру, повинна існувати окрема програмна оболонка – транслятор.
Означення Трансляція – перетворення програми, представленої на якій-небудь мові програмування в еквівалентну форму на іншій мові.
Транслятори бувають двох видів: компілятори й інтерпретатори.
Компілятор перетворює початковий (вихідний) код програми в машинну мову, тобто мову нулів і одиниць. До отриманого коду підключаються стандартні процедури, використані програмістом. У результаті виходить працююча програма – її називають робочим кодом. Файли таких програм мають розширення .ехе або .com і представляють собою машинний код. Компілятор – тип транслятора, що виконує перетворення всієї програми цілком з якої-небудь мови програмування на мову машинних кодів (абсолютний модуль) або близький до нього (об’єктний модуль).
Інтерпретатори обробляють текст не заздалегідь, а безпосередньо під час виконання програми. Інтерпретатори є програмами-посередниками, які читають команди з файлу і перекладають їх на мову процесора під час виконання програми. Інтерпретатор – тип транслятора, що здійснює покомандний (порядковий) переклад і виконання програми, написаної на якій-небудь мові програмування.
Щоб краще зрозуміти відмінність між компілятором і інтерпретатором, приведемо порівняння. Робота програми-компілятора схожа на роботу літературного перекладача, який спочатку прочитує текст, аналізує його, а потім виконує переклад. Роботу програми інтерпретатора можна порівняти з роботою синхронного перекладача, який виконує переклад відразу в міру озвучування тексту. Зрозуміло, що літературний переклад буде більш якісним, ніж переклад синхронний. Аналогічно код, отриманий при компіляції, буде більш компактний і ефективним, ніж код інтерпретатора. У результаті відкомпільовані програми працюють у 20-50 разів швидше, ніж виконувані під керуванням інтерпретатора. Крім того, компілятори під час своєї роботи займають меншу частину ресурсів комп’ютера.
Таким чином, компілятори – більш ефективні перекладачі програм. Тому всі прикладні і службові програми поставляються у відкомпільованому вигляді.
У випадках, коли час виконання програми не занадто критичний, наприклад, при навчанні, зручно використовувати мову, що інтерпретується. Найпростіша і найбільш розповсюджена з них – це мова програмування Basic. Іншими прикладами є такі мови, що інтерпретуються JavaScript і VBScript, що широко використовуються при створенні Web-сторінок, доступних через Інтернет.
В 1982 р. Філіп Кан (засновник фірми Borland) – розробляє транслятор мови Pascal для ПК Apple. Починаючи з 1983 р. Фірма Borland International випустила більше 10 версій компілятора Turbo Pascal. Найпоширеніші - 3.0, 5.5, 6.0, 7.0. В 1992 фірма випустила новий продукт – компілятор Borland Pascal with Objects 7.0.