Парадигма програмування
| Парадигми програмування |
|---|
|
Паради́гма програмува́ння — це система ідей і понять, які визначають стиль написання комп'ютерних програм, а також спосіб мислення програміста.
П. п. — спосіб концептуалізації, що визначає організацію обчислень і структурування роботи, яку виконує комп'ютер[1].
П. п. унаочнює те, як програміст розглядає роботу програми; наприклад, за ООП — як множини об'єктів, тоді як за ФП — як послідовності обчислень функцій без станів.
Кожну окрему П. п. характеризує наявність у ній метода та зв'язок із моделлю життєвого циклу. Спільним для різних П. п. є загальні принципи проектування програмного продукту. Користувач може вибирати ту або іншу парадигму програмування з позицій зручності застосування для задач у ПрО та виготовлення конкретного програмного продукту[2].
Зміст |
Історія терміна [ред.]
Своїм сучасним значенням у науково-технічній галузі термін «парадигма» зобов'язаний, вочевидь, Томасу Куну та його книзі «Структура наукових революцій». Кун називав парадигмами усталені системи наукових поглядів, у межах яких ведуться дослідження, відтак, у процесі розвитку наукової дисципліни може відбуватися заміна однієї парадигми на іншу[3], при цьому стара парадигма ще продовжує якийсь час існувати, ба навіть розвиватися завдяки тому, що багато її прихильників виявляються з тих чи інших причин нездатними перебудуватися до праці в іншій парадигмі.
Власне термін «П. п.» вперше застосував Роберт Флойд[ru] у своїй лекції[4] лауреата премії Тюрінга, відзначаючи, що в програмуванні можна спостерігати явище, подібне парадигмам Куна, але, на відміну від таких, парадигми програмування не є взаємовиключними:
| « | Якщо прогрес мистецтва програмування в цілому вимагає постійного винаходи і вдосконалення парадигм, то вдосконалення мистецтва окремого програміста вимагає, щоб він розширював свій репертуар парадигм. | » |
Таким чином, на думку Роберта Флойда, на відміну від парадигм у науковому світі, описаних Куном, парадигми програмування можуть поєднуватися, збагачуючи інструментарій програміста.
Основні парадигми програмування [ред.]
- Процедурне програмування
- Об'єктно-орієнтоване програмування
- Функціональне програмування
- Імперативне програмування
- Декларативне програмування
- Прототипне програмування
- Аспектно-орієнтоване програмування
- Предметно-орієнтоване програмування
- Функціонально-орієнтоване програмування
- Структурне програмування
- Модульне програмування
- Збірне програмування
- Програмування з абстрактними типами даних
- Схемне програмування
- Логічне програмування
- Паралельне програмування
- Компонентне програмування
- Агентно-орієнтоване програмування
- Алгебраїчне програмування
Див. також [ред.]
Посилання [ред.]
- ↑ Основы информатики и программирования: Учебное пособие// Е.А. Роганов — М.: МГИУ, 2001. — Вузол VI.(рос.)
- ↑ Лавріщева К.М. Програмна інженерія — К.: Академперіодика, 2008.- 319 с.
- ↑ Наприклад, геоцентрична небесна механіка Птолемея змінилася геліоцентричної системою Коперника.
- ↑ R.W. Floyd. The Paradigms of Programming Communications of the ACM, 22(8):455—460, 1979. — Російською див.: Лекции лауреатов премии Тьюринга за первые двадцать лет (1966—1985) — М.: МИР, 1993.
