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

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

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

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

Ідеї розвитку, композиційності і номінативності добре відомі і простежуються з глибокої давнини. Категорія розвитку є однією з центральних категорій у такому філософському напрямку, як діалектика, серед представників якої виділимо Геракліта Ефеського та Г.В.Ф. Гегеля. Композиційні властивості мовних виразів були чітко сформульовані Г. Фреге та Р. Карнапом. Принцип композиційності був основним у композиційному програмуванні, запропонованому В.Н. Редьком. Різним аспектам номінативності (іменування) присвятили свої роботи Аристотель, Гоббс, Джон Стюарт Мілль, Джордж Буль, Пірс, Фреге, Рассел, Кріпке і багато інших.

Перш ніж переходити до детального розгляду основних понять програмування, проаналізуємо визначення поняття «програма», наведені у словниках.

2.1. Аналіз словникових визначень поняття програми

Почнемо з визначень поняття програми, які наводяться у словниках і енциклопедіях. Великий тлумачний словник сучасної української мови1, Меріам-Убстер Електронний словник2 та інші словники дають наступне трактування слова «програма».

Етимологія: від грецького prographein – попередній запис (pro – перед + graphein – писати). Пізніше латинське programma: письмове повідомлення. Значення3:

  • наперед продуманий план якої-небудь діяльності, роботи тощо;

  • план для програмування деякого механізму (як комп’ютер);

  • послідовність кодів інструкцій, що можна ввести в механізм (наприклад, комп’ютер).

Аналізуючи ці та інші визначення терміна «програма», дійдемо висновку, що визначення використовують такі терміни, як «план», «послідовність», «дія», «інструкція», «програмування», «комп'ютер» і т.д. Подивимося, наприклад, на визначення першого терміна в цьому списку. «План» – це:

  • креслення або діаграма,

  • метод досягнення кінцевої мети,

  • упорядкована класифікація частин проекту або мети,

  • детальна програма дій.

Бачимо, що визначення терміна «план», які нас цікавлять, звертаються знову до слова «програма». Звідси можна зробити два висновки:

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

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

Подібна ситуація буде і з іншими термінами з нашого списку. Правда, критикуючи словникові визначення за неповноту, зауважимо, що вони надають початкове уявлення про значення різних термінів. Тому треба погодитися зі словами М.Т. Рильського:

Не бійтесь заглядати у словник:

це пишний яр, а не сумне провалля.

Таким чином, термін 'програма' є надзвичайно загальним, багатоаспектним і не може бути простим способом визначений через інші терміни. Але як же тоді визначати такі загальні терміни?

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

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