Парадигма програмування: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
DixonDBot (обговорення | внесок)
м Переміщення 41 інтервікі, відтепер доступних на Вікіданих у d:Q188267
Mung Daal (обговорення | внесок)
вікіфікація, оформлення, правопис
Рядок 1:
{{Парадигми програмування}}
'''Паради́гмиПаради́гма програмува́ння'''&nbsp;— це [[система]] ідей і понять, які визначають стиль написання [[Комп'ютерна програма|комп'ютерних програм]], а також спосіб [[мислення]] [[Програміст|програміста. Це спосіб концептуалізації, що визначає організацію обчислень і структурування роботи, виконуваної комп'ютером<ref>''Роганов Е. А.'' [http://www.ctc.msiu.ru/materials/Book/main.html Основы информатики и программирования] М. 2001</ref>].
 
'''П. п.'''&nbsp;— спосіб [[Концептуальна модель|концептуалізації]], що визначає організацію [[Обчислення|обчислень]] і [[Структура|структурування]] роботи, яку виконує [[комп'ютер]]<ref>''[http://www.ctc.msiu.ru/materials/Book/main.html Основы информатики и программирования: Учебное пособие]''// Е.А. Роганов — М.: МГИУ, 2001. — Вузол VI.{{ref-ru}}</ref>.
Парадигма програмування надає (та визначає) те, як програміст розглядає роботу програми. Наприклад, в [[об'єктно-орієнтоване програмування|об'єктно-орієнтованому програмуванні]], програміст розглядає програму як множину взаємодіючих об'єктів, в той час як у [[функційне програмування|функційному програмуванні]] програму можна представити як послідовність обчислення функцій без станів.
 
'''П. п.''' унаочнює те, як [[програміст]] розглядає роботу [[Програма|програми]]; наприклад, за [[Об'єктно-орієнтоване програмування|ООП]] — як [[Множина|множини об'єктів]], тоді як за [[Функційне програмування|ФП]] — як послідовності обчислень функцій без [[Стани процесу|станів]].
Кожна парадигма програмування характеризується наявністю в ній метода і зв’язком з моделлю життєвого циклу. Головне, що об’єднує різні парадигми програмування, – це загальні положення з проектування програмного продукту. Користувач може вибирати ту або іншу парадигму програмування з позицій зручності застосування для задач у ПрО і виготовлення конкретного програмного продукту<ref>''Лавріщева К. М.'' [http://eprints.isofts.kiev.ua/611/1/П_дручник-SE-послед-с-обл.pdf Програмна інженерія] ''К. : Академперіодика, 2008.- 319 с.''</ref>.
 
КожнаКожну парадигмаокрему програмування'''П. характеризуєтьсяп.''' наявністюхарактеризує внаявність у ній метода іта зв’язкомзв'язок зіз [[Життєвий цикл програмного забезпечення|моделлю життєвого циклу]]. Головне,Спільним щодля об’єднуєрізних різні'''П. парадигмип.''' програмування, – цеє загальні положення зпринципи проектування програмного продукту. Користувач може вибирати ту або іншу парадигму програмування з позицій зручності застосування для задач у ПрО іта виготовлення конкретного програмного продукту<ref>''Лавріщева К. М. '' [http://eprints.isofts.kiev.ua/611/1/П_дручник-SE-послед-с-обл.pdf Програмна інженерія] ''К. : Академперіодика, 2008.- 319 с.''</ref>.
 
== Історія терміна ==
Своїм сучасним значенням ву науково-технічній галузі термін "«[[парадигма"]]» зобов'язаний, по-видимомувочевидь, [[Кун, Томас СемюелКун|Томасу Куну]] іта його книзі " «[[Структура наукових революцій]] "(див. [[парадигма]])». Кун називав ''парадигмами'' усталені системи наукових поглядів, ву рамкахмежах яких ведуться дослідження. Згідно з, Куномвідтак, ву процесі розвитку наукової дисципліни може відбутисявідбуватися заміна однієї парадигми на іншу<ref> (якНаприклад, наприклад,[[Геоцентрична система світу|геоцентрична небесна механіка]] [[Клавдій Птолемей|Птолемея]] змінилася [[Геліоцентрична система світу|геліоцентричної системою]] [[Микола Коперник|Коперника)]].</ref>, при цьому стара парадигма ще продовжує якийсь час існувати, іба навіть розвиватися завдяки тому, що багато її прихильникиприхильників виявляються поз тимтих чи іншимінших причинампричин нездатнінездатними перебудуватися длядо роботипраці в іншій парадигмі.
 
ТермінВласне "парадигматермін програмування"«'''П. п.'''» вперше застосував [[Флойдб Роберт{{нп5|Роберт Флойд]]||ru|Флойд, Роберт}} у своїй лекції<ref>''R. W. Floyd. '' [http://www.ias.ac.in/resonance/May2005/pdf/May2005Classics.pdf The Paradigms of Programming] '' Communications of the ACM'', 22(8):455—460, 1979. Русский перевод<small>Російською см. в кндив.: ''Лекции лауреатов премии Тьюринга за первые двадцать лет (1966—1985),'' — М.: МИР, 1993.</small></ref> лауреата [[преміяПремія ТьюрингаТюрінга|премії ТьюрінгаТюрінга]]., відзначаючи, що в програмуванні можна спостерігати явище, подібне парадигмам Куна, але, на відміну від таких, парадигми програмування не є взаємовиключними:
Своїм сучасним значенням в науково-технічній галузі термін "парадигма" зобов'язаний, по-видимому, [[Кун, Томас Семюел|Томасу Куну]] і його книзі " [[Структура наукових революцій]] "(див. [[парадигма]]). Кун називав парадигмами усталені системи наукових поглядів, в рамках яких ведуться дослідження. Згідно з Куном, в процесі розвитку наукової дисципліни може відбутися заміна однієї парадигми на іншу (як, наприклад, геоцентрична небесна механіка Птолемея змінилася геліоцентричної системою Коперника), при цьому стара парадигма ще продовжує якийсь час існувати і навіть розвиватися завдяки тому, що багато її прихильники виявляються по тим чи іншим причинам нездатні перебудуватися для роботи в іншій парадигмі.
{{Цитата|Якщо прогрес мистецтва програмування в цілому вимагає постійного винаходи і вдосконалення парадигм, то вдосконалення мистецтва окремого програміста вимагає, щоб він розширював свій репертуар парадигм.}}
 
Таким чином, на думку Роберта Флойда, на відміну від ''парадигм ву науковому світі'', описаних Куном, ''парадигми програмування'' можуть поєднуватися, збагачуючи інструментарій програміста.
Термін "парадигма програмування" вперше застосував [[Флойдб Роберт|Роберт Флойд]] у своїй лекції<ref>''R. W. Floyd.'' [http://www.ias.ac.in/resonance/May2005/pdf/May2005Classics.pdf The Paradigms of Programming] ''Communications of the ACM'', 22(8):455—460, 1979. Русский перевод см. в кн.: Лекции лауреатов премии Тьюринга за первые двадцать лет (1966—1985), М.: МИР, 1993.</ref> лауреата [[премія Тьюринга|премії Тьюрінга]].
 
Флойд відзначає, що в програмуванні можна спостерігати явище, подібне парадигмам Куна, але, на відміну від них, парадигми програмування не є взаємовиключними:
 
Якщо прогрес мистецтва програмування в цілому вимагає постійного винаходи і вдосконалення парадигм, то вдосконалення мистецтва окремого програміста вимагає, щоб він розширював свій репертуар парадигм.
 
Таким чином, на думку Роберта Флойда, на відміну від парадигм в науковому світі, описаних Куном, парадигми програмування можуть поєднуватися, збагачуючи інструментарій програміста.
 
== Основні парадигми програмування ==
Рядок 42 ⟶ 40:
 
== Див. також ==
 
* [[Парадигма]]
* [[Програмування]]