ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ
Программирование как раздел информатики
- Программирование — раздел информатики, изучающий теорию, методы и технологию разработки программного обеспечения для электронных вычислительных машин (ЭВМ). В узком смысле программирование — этап решения какой-либо задачи с помощью ЭВМ, ограниченный разработкой и отладкой программ, или же собственно процесс создания программ.
- Общей задачей программирования является написание с помощью формальных языков, служащих средством общения между человеком и ЭВМ (языки программирования), оптимальных по определенным критериям (времени исполнения, объему используемой памяти, универсальности и пр.) программ.
Три направления программирования:
- техническое программирование изучает принципы и способы построения программ, имея конечной целью автоматический (с помощью ЭВМ) синтез программ для решения любых задач;
- системное программирование направлено на создание комплексов программ длительного и массового использования, обеспечивающих пользователям максимум удобств и возможностей (с помощью посредников или самостоятельно) для применения вычислительной техники при решении основного множества универсальных задач;
- прикладное программирование обслуживает конкретные (в т.ч. уникальные или узкоспециальные) потребности в применении ЭВМ представителями различных областей науки и практики.
Парадигмы программирования
- Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.
То́мас Сэ́мюэл Ку́н
(18 июля 1922— 17 июня 1996) — американский историк и философ науки. Стэнфордская философская энциклопедия называет Куна одним из самых влиятельных философов науки XX столетия, возможно, самым влиятельным. Его книга «Структура научных революций» является одной из самых цитируемых научных книг за всю историю науки.
Роберт В Флойд
(8 июня 1936 года — 25 сентября 2001 года) — американский учёный в области теории вычислительных систем. Лауреат премии Тьюринга
Различные определения термина «парадигма»
Диомидис Д. Спинеллис (2 февраля 1967, Афины, Греция) — греческий информатик, профессор, автор книг «Чтение кода» (2003), «Качество кода» (2006) и «Идеальная архитектура» (2010)
Определение:
«Слово «парадигма» используется в программировании для определения семейства обозначений (нотаций), разделяющих общий способ (методику) реализаций программ»
Различные определения термина «парадигма»
Брюс Шнайер (род. 15 января 1963) — американский криптограф, писатель и специалист по компьютерной безопасности.
Определение:
«Парадигма программирования - модель или подход к решению проблемы»
Основные модели программирования
Императивное программирование
Декларативное программирование
Структурное программирование
Функциональное программирование
Логическое программирование
Объектно-ориентированное программирование
Программирование, основанное на классах
Программирование, основанное на прототипах
Субъектно-ориентированное программирование
Подходы и приёмы
- Структурное программирование
- Процедурное программирование
- Аппликативное программирование
- Обобщённое программирование
- Доказательное программирование
- Порождающее программирование
- Аспектно-ориентированное программирование
- Агентно-ориентированное программирование
- Рекурсия
- Автоматное программирование
- Событийно-ориентированное программирование
- Компонентно-ориентированное программирование
- Грамотное программирование
Методология программирования
Методология программирования — совокупность методов, применяемых на различных стадиях жизненного цикла программного обеспечения и имеющих общий философский подход.
Каждая методология характеризуется своим:
- философским подходом или основными принципами. Эти принципы, от которых зависит эффективность всей методологии, обычно можно кратко сформулировать и легко объяснить;
- согласованным множеством моделей методов, которые реализуют данную методологию;
- концепциями (понятиями), позволяющими более точно определить методы.
Пути возникновения методологий
- Выражение практического опыта.
- Происхождение от моделей адгоритма:
- абстрактная машина Тьюринга;
- рекурсивные функции Гильберта и Аккермана ;
- лямбда-исчисление Чёрча;
- нормальные алгоритмы Маркова .
- Объяснение через отображение одной из трёх структур языка моделирования на структуру языка программирования.
Классификация методологий
по ядрам;
по топологической специфике;
по специфике реализации.
Классификация по ядрам
Методология императивного программирования
Методология ООП
Методология функционального программирования
Методология логическое программирование
Методология программирования в ограничениях
Список использованных источников
1. Роганов Е.А., Основы информатики и программирования: учеб. пособие. – М.: МГИУ, 2001.
2. Одинцов И. О. Профессиональное программирование. Системный подход. — 2-е изд.. — СПб.: БХВ-Петербург, 2004. — 624 с.
3. http://lyubo-yasenovskay.narod.ru/progr1.html
4. https://ru.wikipedia.org/wiki/