Вимоги до мов програмування

ВИЗНАЧЕННЯ ТА КОРОТКИЙ ОГЛЯД МОВ ПРОГРАМУВАННЯ

 

Визначення мови програмування

Щоб використати ЕОМ для розв’язання задач, необхідно представити алгоритм у такому вигляді, в якому він може бути сприйнятий ЕОМ, тобто описаний на мові, зрозумілій ЕОМ. Цим описом є програма дій для ЕОМ, а процесом опису — програмування. Зараз у поняття «програмування» вкладають більш широкий зміст.

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

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

Опис мови містить синтаксичні визначення, семантичні пояснення та граматичні форми.

Синтаксис мови — це сукупність усіх сформульованих правил побудови припустимих структур, створюваних із символів алфавіту.

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

Граматичні форми описують класи операторів та зв’язки між ними.

Формальна мова програмування має позитивні якості машинних та природних мов і у той самий час суттєво відрізняється від них:

— будь-яка синтаксично правильна структура мови має зміст;

— кожний вираз і кожний оператор має тільки один зміст і, отже, завжди однозначно інтерпретується;

— формальна мова має лаконічність машинних мов та наочність природних.

 

Вимоги до мов програмування

До формальної мови висувається ціла низка вимог та умов, які вона повинна задовольняти, якщо є алгоритмічною. Мова повинна бути:

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

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

3. Гнучкою, будь-який поширений метод обчислювальної математики має описуватись без зайвого ускладнення.

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

5. Однозначною, тобто зберігати якість визначеності алгоритму. Для цього повинна мати місце однозначна відповідність між текстами (текст—алгоритм, записаний мовою) та змістами (зміст або сенс — мета алгоритму). Тут немає взаємно однозначної відповідності, оскільки задачі можна розв’язувати різними способами і, отже, одному змісту може відповідати декілька текстів. (Але не навпаки.)

6. Незалежною від конкретних особливостей ЕОМ, для яких створюється програма. У той самий час мова повинна будуватись так, щоб можна було сформулювати правила, які б дозволили перетворити алгоритм, описаний за допомогою алгоритмічної мови, у програму для конкретноїЕОМ.

Якщо алгоритмічна мова задовольняє усі ці умови, вона може виконувати різні функції:

· може бути засобом мислення. Логічна недосконалість методу розв’язання задачі визначається у процесі запису цього методу засобами алгоритмічної мови;

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

· є посередником між різними ЕОМ.

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

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

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

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

Якщо у мові програмування відсутні якісь можливості, то можна розширити її за рахунок включення нових засобів обробки інформації, або за рахунок втілення нових засобів спілкування з користувачем чи розробником програм, або за рахунок знешкодження помилок, виявлених у процесі користування. Так з’являються нові версії мови — більш досконалі, більш ефективні, пристосовані до нових інформаційних технологій.