Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NikitchenkoNEWNEW.doc
Скачиваний:
26
Добавлен:
08.11.2019
Размер:
2.99 Mб
Скачать

2.5. Сутнісні та семіотичні аспекти програм

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

Основні семіотичні аспекти (прагматика, семантика і синтаксис) були визначені та досліджені в роботах Ч.Пірса, Ч. Морріса, Р. Карнапа та інших учених:

  • прагматика – це відношення між мовою і користувачем мови;

  • семантика – це відношення між виразами мови та їх значеннями (денотатами), абстраговане від користувача;

  • синтаксис – це відношення між мовними виразами, абстраговане від їх денотатів.

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

Разом із тим побудовані пентади основних понять програмування та основних програмних понять дають дещо іншу класифікацію аспектів поняття програми.

Зокрема, перша пентада задає чотири основних зовнішніх аспекти:

  • адекватнісний;

  • прагматичний;

  • обчислювальний;

  • генетичний.

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

Друга пентада дає три основних внутрішніх аспекти програм:

  • семантичний;

  • синтаксичний;

  • денотаційний.

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

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

Таким чином, тут уведено два підходи до розкриття основних програмних аспектів: семіотичний та сутнісний. Доцільно зробити порівняльний аналіз запропонованих підходів.

Таблиця 2.1

Характе-ристика підходу

Семіотичний підхід

Сутнісний підхід

1

Рівень загальності

Орієнтація на довільні системи, що використовують знаки.

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

2

Основні поняття підходу

Основним поняттям є знак, додатковими – користувач та значення. Тому головний акцент – на знаках, невелика кількість понять не дає можливості визначати достатню кількість аспектів.

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

3

Класифі-кація аспектів

Класифікація аспектів відсутня. Тому чіткого розподілу на зовнішні та внутрішні аспекти немає. До зовнішніх можна віднести лише прагматичний аспект, частково – семантичний аспект, до внутрішніх – синтаксичний та семантичний (частково).

Аспекти класифікуються на чотири зовнішніх та три внутрішніх.

4

Зовнішні аспекти

До зовнішніх можна віднести лише прагматичний аспект. Як наслідок, це веде до перенавантаження прагматичного аспекту, який стає занадто розпливчастим та нечітким.

Виокремлено чотири зовнішніх аспекти з достатньо чіткими визначеннями. Це дозволяє розгорнути детальне вивчення цих аспектів.

5

Внутрішні аспекти

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

До внутрішніх віднесено семантичний, синтаксичний та денотаційний аспекти. Семантичному аспекту в семіотиці відповідають такі аспекти в сутнісному підході: семантичний, як теорія значень, та денотаційний, який пов’язує значення (тобто семантику) та синтаксис. Це дає можливість розглядати семантико-синтаксичні підходи до розгортання визначень програм, у яких саме семантика знаходиться у привілейованому стані.

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

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

Принцип підпорядкованості. Семантика є провідним внутрішнім аспектом програм, а синтаксичний та денотаційний аспекти підпорядковані семантиці [10]. Всі аспекти варто спочатку вивчати незалежно один від одного, а потім – у їх єдності.

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]