• Document: Парадигмы программирования. Денис С. Мигинский
  • Size: 1.22 MB
  • Uploaded: 2019-01-13 18:00:18
  • Status: Successfully converted


Some snippets from your converted document:

Парадигмы программирования Денис С. Мигинский Понятие парадигмы Парадигма (философия науки) – устоявшаяся система научных взглядов, в рамках которой ведутся исследования (Т. Кун) Парадигма программирования – это совокупность принципов, методов и понятий, определяющих способ конструирования программ. Парадигма программирования Парадигма в первую очередь определяется базовой программной единицей(-ами) и самим принципом достижения модульности программы. Цель: достижение модульности Средства: механизмы абстракции Вопрос: что такое абстракция и модульность? Абстракция Абстракция (абстрагирование) – процесс определения существенных характеристик некоторой сущности, отличающих ее от других сущностей и значимых в рамках поставленной задачи. Также абстракция (как процесс) включает представление выделенных характеристик моделируемой сущности и представление их в терминах языка моделирования/программирования. Принцип абстракции – каждая существенная область функциональности в программе должна быть реализована всего в одном месте программного кода (Б.Пирс) Модульность Модульность – разбиение программы (или любой другой сложной технической системы) на составные блоки с относительно замкнутой функциональностью Единица модульности => абстракция Распространенные (и не очень) парадигмы • Императивное (процедурное) программирование • Структурное программирование • Функциональное программирование • Логическое программирование • Объектно-ориентированное программирование • Аспектно-ориентированное программирование • Метапрограммирование, ориентированное на языки программирование Императивное программирование Изменение состояния программы посредством исполнения инструкций Основные механизмы управления/абстракции: • Последовательное исполнение команд • Ветвление • Безусловный переход • Вызов подпрограммы (процедурное программирование) Элементарные единицы модульности: отсутствуют Структурное программирование Основные механизмы управления/абстракции: • Последовательное исполнение команд • Ветвление • Цикл • Вызов подпрограммы • Лексический контекст Элементарные единицы модульности: • Подпрограмма с изолированным лексическим контекстом Лексический контекст Лексический контекст определяет область видимости идентификаторов (переменных и т.д.) Контексты могут быть вложены друг в друга int main (){ int i = 0; int sumSqr = 0; //scope 1 with vars i & sumSqr while(i < 10){ int sqrI = i*i; //scope 2 with inherited vars i & sumSqr //and self var sqrI sum } } //global scope with main symbol Объектно-ориентированное программирование Представление программы в форме взаимодействующих объектов Основные механизмы управления/абстракции: • Объект • Класс • Иерархии классов/объектов • Полиморфизм Элементарные единицы модульности: • Класс (примечание: в на

Recently converted files (publicly available):