Малюнок 2.5. Тріада основних понять програмування



 

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

(адекватність програми проблемі)=

=(проблемно-орієнтованість процесу програмування) *

*(експлікативність процесу програмування)

 

 

2.3.4 Пентада основних понять програмування

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

 

Малюнок 2.6. Пентада основних понять програмування

 

Пентада основних понять програмування виділяє основні аспекти понять програмування. Так, для поняття програми основними аспектами будуть

· адекватність,

· прагматичність,

· обчислюваність,

· генетичність.

Для процесу програмування основні аспекти це

· проблемна орієнтованість,

· експлікативність.

Зробимо також кілька методологічних зауважень стосовно побудованої пентади. Відзначимо, що для нас тут головним є саме поняття та їх відношення, а не порядок появи в процесі розвитку. Процес розвитку можна було б починати від процесу програмування та йти до програми, потім до проблеми, користувача та процесу виконання. Разом з тим, може з’явитись питання: чому другий оберт (користувач – програма – процес виконання) зроблено раніше ніж третій (проблема – програма – процес програмування)? Обґрунтування задається принципом історичності. На початковому етапі використання програм велика вага приділялась ефективності використання машинного часу (бо був дуже дорогий), тобто проблемам виконання програм. Лише пізніше почали досліджуватись методи програмування.

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

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

 Друге визначення: програмування є процес побудови програм, що має на меті розв’язання певних проблем. Це визначення поєднує вже три поняття нашої пентади, але абстрагується від інших понять.

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

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

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

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

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

 

2.4 Розвиток основних програмних понять

Ми почнемо з розгляду внутрішніх аспектів програм. Відповідні поняття будемо називати програмними поняттями. Їх слід відрізняти від понять програмування, що пов’язані з процесом програмування, та які були розглянуті у попередньому розділі.

 

2.4.1 Тріада основних програмних понять

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

Як же починати уточнення поняття програми? Є різні підходи до того, як це робити. Але ми почнемо з аналізу тієї тріади, в який вперше з’явилось поняття програми. Це тріада «користувач – проблема – програма». З цієї тріади ми бачимо, що поняття програми є діалектичним запереченням (антитезою) поняття проблеми, тобто програми не є проблемами, але зберігають в собі проблеми у якісь іншій формі. Цей зв’язок понять проблеми та програми подамо на малюнку 2.7.

 


Дата добавления: 2019-02-13; просмотров: 298; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!