Лекция №10Парадигмы программирования (часть 1)
Парадигма программирования определяет общий стиль написания программ. Она указывает, как выделяются отдельные элементы программы, что они собой представляют, каким образом между собой взаимодействуют, и так далее. По своей роли в проектировании и конструировании парадигма играет примерно ту же роль, что модель жизненного цикла в планировании процессов разработки программного обеспечения.
Выбор парадигмы программирования определяется архитектурой программной системы. Выделяют два основных типа парадигм программирования:
- В декларативном программировании программа описывает цель, но не средства ее достижения. Это позволяет сосредоточиться на используемых алгоритмах (а не нюансах их реализации), поэтому декларативное программирование достаточно популярно в науке.
- В императивном программировании программа представляет собой набор инструкций, которые изменяют состояние программы (то есть значения определенных переменных). Поскольку имеющиеся на данный момент компьютеры понимают инструкции, но не намерения, для написания прикладных или, тем более, системных приложений используется именно императивное программирование.
В пределах декларативного программирования можно выделить функциональное программирование, в котором элементами программ являются функции, и логическое программирование (элементы программ — логические утверждения). Основные императивные парадигмы — структурное, модульное и объектно-ориентированное программирование. Различие между структурным программированием и ООП — в связи между данными и поведением.
- В структурном программировании связь слабая: данные хранятся в структурах и обрабатываются с помощью процедур и функций, которые реализуют поведение.
- В ООП элементами программ являются объекты, которые объединяют в себе как данные (поля объектов), так и поведение (методы).
Развитием ООП являются несколько сравнительно молодых парадигм (компонентное, аспектно-ориентированное, сервисное программирование), которые рассматриваются в следующей лекции.