[Возврат на основную страницу раздела]
© 2000 г. Легалов Александр Иванович
Статья первоначально депонирована в ВИНИТИ и имеет следующие выходные данные:
Легалов А.И. Процедурно-параметрическая парадигма программирования. Возможна ли альтернатива объектно-ориентированному стилю? - Красноярск: 2000. Деп. рук. № 622-В00 Деп. в ВИНИТИ 13.03.2000. - 43 с.
Полностью материал доступен в формате pdf (~426 кб)
Преамбула
Предлагается парадигма программирования, определяющая новый стиль разработки программ, названный процедурно-параметрическим программированием (ППП). В основе парадигмы лежит параметрический полиморфизм, позволяющий процедурам принимать и обрабатывать вариантные типы данных, без алгоритмического выбора альтернатив внутри этих процедур. В процедурных языках программирования такие типы описываются объединениями (union в языках C, C++) или вариантными записями (в языке Паскаль). Алгоритмическая обработка вариантов осуществляется с применением условных операторов или переключателей. Данный подход является развитием методов процедурного программирования и служит альтернативой объектно-ориентированному программированию.
Следует уточнить понятие "процедурное программирование", используемое в работе. Оно не отождествляется со структурным программированием. Во-первых, структурное программирование в основном ассоциируется с алгоритмической декомпозицией. Вместе с тем, использование традиционных процедурных языков может сочетаться и с объектно-ориентированной методологией (ООМ) [7]. В этом случае, для доступа к структурам данных, можно использовать специально выделенные процедуры (специализированные процедуры). Остальные же процедуры, для доступа к этим же структурам данных, могут пользоваться интерфейсом, предоставляемым специализированными процедурами. Во-вторых, процедурная организация программ применяется не только в структурном программировании. Такое взаимодействие осуществляется в функциональном программировании (на уровне функций, обменивающихся данными) [6], параллельном программировании (на уровне взаимодействия процессов) [5] и т.д. Поэтому, при дальнейшем изложении, понятия "процедурный подход", "процедурное программирование" используются для обозначения всех парадигм программирования, связанных с организацией процесса вычислений на основе потоков управления, потоков данных и с непосредственным вызовом процедур, функций, процессов. Далее, говоря о процедурах, будем также подразумевать функции и процессы.
Процедурно-параметрическая парадигма программирования является расширением процедурного подхода. Она позволяет увеличить возможности последнего за счет поддержки полиморфизма данных. Применение предлагаемого подхода позволит наращивать функциональные возможности процедур без внесения в них внутренних алгоритмических изменений. ППП может использоваться как независимо, так и в сочетании с другими парадигмами программирования.
Основные разделы
-
Введение
-
Различия процедурной и объектной парадигм
-
Программные объекты процедурной и объектной парадигм, используемые для построения эквивалентных понятий
-
Конструирование агрегатов
-
Конструирование обобщений
-
Вариантное обобщение
-
Опорное обобщение
-
Использование процедурного и ОО подходов
-
Преимущества ОО программирования по сравнению с другими методами
-
Недостатки ООП
-
Параметрическая обработка альтернатив
-
Параметрическое программирование
-
Конструирование программных объектов при процедурно-параметрическом подходе
-
Языковая поддержка параметрического полиморфизма
-
Программирование при множественном полиморфизме
-
Достоинства и недостатки ППП
-
Заключение
Литература
-
Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд./Пер. с англ. - М.: "Издательства Бином", СПб: "Невский диалект", 1998 г. - 560 с., ил.
-
Вирт Н. Долой "жирные" программы. "Открытые системы", №6 (20), 1996, стр. 26-31.
-
Легалов А.И. Сочетание процедурного и объектного подходов при разработке программ. - Вестник Красноярского государственного технического университета. Сб. научных трудов. Вып. 10. Красноярск, 1997. с. 102-109.
-
Пешио К. Никлаус Вирт о культуре разработки ПО. "Открытые системы", №1, 1998, с. 41-44.
-
Хоар Ч. Взаимодействующие последовательные процессы. Пер. с англ. - М.: Мир, 1989. -264 с.
-
Henderson P. Functional Programming, Application and Implementation. /Prentice-Hall, London, 1980.
-
Meyer M. Object-Oriented Software Construction. Second Edition. ISE Inc. Santa Barbara (California).
-
Moessenboeck H., Wirth N. The Programming Language Oberon-2. Institut fur Computersysteme, ETH Zurich July 1996.
[Возврат на основную страницу раздела]
|