Здавалка
Главная | Обратная связь

Підтримувані парадигми програмування



Об'єктно-орієнтовані, логічні, функційні, структурні…

Імперативні мови базуються на ідеї змінної, значення якої змінюється присвоєнням. Вони називаються імперативними (лат. imperative - наказовий), оскільки складаються із послідовностей команд, які звичайно містять присвоєння змінних <назва_змінної> = <вираз>, де вираз може посилатися на значення змінних присвоєних попередніми командами.

Способи реалізації мов [ред.]

Мови програмування можуть бути реалізовані як компільовані та інтерпретовані.

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

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

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

Для будь-якої інтерпритуючої мови можна створити компілятор - наприклад, мова Лісп, початково інтерпретована, може компілюватися без обмежень. Створюваний під час виконання програми код може так само динамічно компілюватися під час виконання.

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

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

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

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

Подібний підхід у деякому сенсі дозволяє використовувати плюси як інтерпретаторів, так і компіляторів. Слід згадати, що є мови, які мають і інтерпретатор, і компілятор (Форт (Forth )).

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

У програмах на мовах логічного програмування відповідні дії виконуються тільки за наявності необхідного дозволяючого умови.

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

Найбільш поширеним мовою логічного програмування є мова Пролог.

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

Кожна мова програмування має свій алфавіт, фіксований словник, синтаксис і семантику. Для описування алгоритму такою мовою використовується певний набір символів – алфавіт мови. Алфавіт складається зазвичай з літер латинської абетки, цифр, спеціальних символів (дужки, роздільники), знаків логічних операцій (not, and, or та ін.), знаків операцій порівняння (=, <, > та ін.). З цих символів складаються і так звані ключові слова мови. Кожне з ключових слів має певне призначення. Ключові слова зв’язуються одне з одним за певними синтаксичними правилами мови. Кожне речення визначає певну послідовність дій, які повинен виконати комп’ютер. Словник мови програмування складається з кінцевого фіксованого набору ключових слів, наприклад, integer, while, var тощо. Сукупність правил побудови описів програм деякою мовою програмування називають синтаксисом мови програмування. Правила семантики пояснюють, яке смислове значення має опис кожної з вказівок програми і які дії повинен виконати комп’ютер під час виконання кожної з таких вказівок. У будь-якій мові програмування можна виділити чотири типи елементів, що використовуються при побудові описів програм: символи, слова, виразі і вказівки (оператори). Символи мови – це основні неподільні знаки, за допомогою яких описують програми і дані. Слова мови – структури, утворені із символів і які є мінімальними одиницями, що мають деякий смисл. Слова – це імена (позначення, ідентифікатори) змінних величин, числа, службові слова, які використовуються в описах вказівок. Правила запису ідентифікаторів: 1) Усі ідентифікатори складаються з літер латинської абетки, цифр, починаються з літери або знака підкреслення "_"; 2) Великі і малі літери на розрізняються; 3) Ідентифікатори можуть мати різну довжину, але використовуються тільки перші 63 символи. Вираз – це текст, який задає правило обчислення одного значення того чи іншого типу. Якщо одержуване значення числове, о вираз називають арифметичним. Якщо одержуване значення логічне, то вираз називають логічним, чи булівським. Якщо одержуване значення – текст, то вираз називають літерним. Вказівка – це вказівка про виконання певної дії. У мовах програмування застосовуються вказівки трьох типів: 1) вказівки про безумовне виконання деякої дії чи набору дій: надання значень, уведення, виведення, виконання алгоритму; 2) Вказівки розгалуження; 3) Вказівки повторення.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.