Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Парадигмы в программировании




 

Определения и классификация

Паради́гма (от греч. παράδειγμα, «пример, модель, образец») – универсальный метод принятия эволюционных решений, гносеологическая модель эволюционной деятельности.

Парадигма может быть абсолютной, научной, государственной, личной (индивидуальной, субъективной) и общепринятой. Общепринятые парадигмы – это единый метод принятия решений, модели мира или его частей, принимаемые большим количеством людей. Личная парадигма – это сущностный метод принятия решений, ментальная модель конкретного человека. Научная парадигма – это совокупность явных и неявных (и часто не осознаваемых) предпосылок, определяющих научные исследования и признанных на данном этапе развития науки.

Парадигма в методологии науки – совокупность ценностей, методов, подходов, технических навыков и средств, принятых в научном сообществе в рамках устоявшейся научной традиции в определенный период времени.

Многие ошибочно воспринимают программирование в его чисто прикладном аспекте, между тем как с момента своего возникновения и по настоящее время программирование опирается на серьезное теоретическое обоснование, это в полном смысле слова наука, имеющая свою теорию и методологию, свои концепции и парадигмы.

Если прогресс искусства программирования в целом требует постоянного изобретения и усовершенствования парадигм, то совершенствование искусства отдельного программиста требует, чтобы он расширял свой репертуар парадигм.

Далеко не все авторы, использующие термин «парадигма программирования», решаются дать строгое определение данному термину. Однако и те определения, которые удаётся найти, серьёзно отличаются друг от друга.

Диомидис Спинеллис даёт следующее определение:

Слово «парадигма» используется в программировании для определения семейства обозначений (нотаций), разделяющих общий способ (методику) реализаций программ.

В статье Дэниела Боброва парадигма – это «стиль программирования как описания намерений программиста». Брюс Шрайвер (Bruce Shriver) определяет парадигму программирования как «модель или подход к решению проблемы», Линда Фридман (Linda Friedman) — как «подход к решению проблем программирования». Памела Зейв (Pamela Zave) даёт определение парадигмы как «способа размышления о компьютерных системах.

Питер Вегнер (Peter Wegner) парадигму определяет как «правила классификации языков программирования в соответствии с некоторыми условиями, которые могут быть проверены».

Тимоти Бадд предлагает понимать термин «парадигма» как «способ концептуализации того, что значит «производить вычисления», и как задачи, подлежащие решению на компьютере, должны быть структурированы и организованы».

Обобщим и дадим следующее определение:

Парадигма программирования – это совокупность идей и понятий, определяющих стиль написания программ. Парадигма в первую очередь определяется базовой программной единицей и самим принципом достижения модульности программы. В качестве этой единицы выступают машинный код (машинно-ориентированная парадигма), вычисляемое выражение (функциональное программирование), действие (императивное программирование), правило (логическое программирование), объект (объектно-ориентированное программирование) и т.д.

Парадигма программирования определяет, какие термины лежат в основе написания программы. В императивном программировании программа описывается как последовательность действий, в функциональном программировании представляется в виде выражения и множества определений функций, в логическом – это набор фактов(аксиом), правил (механизмов вывода нового знания), целей и подцелей (теорем, требующих доказательства или опровержения). В объектно-ориентированном программировании программа рассматривается как набор взаимодействующих объектов.

Важно отметить, что парадигма программирования не определяется однозначно языком программирования – многие современные языки программирования являются мультипарадигмальными, то есть допускают использование различных парадигм. К примеру, Паскаль – это язык структурного, процедурного, модульного, объектно-ориентированного программирования, Фортран – язык процедурного, модульного, параллельного программирования.

В настоящее время сложилось несколько взглядов на классификацию парадигм программирования. Проводя их анализ, можно выделить два основных подхода: укрупненный и раздробленный. В раздробленном подходе каждый метод программирования, каждая технология программирования выделяется в отдельную парадигму.

В укрупненном подходе выделяют две основные парадигмы – императивную и декларативную. Все остальное относят к методам, приемам и технологиям программирования. Этот подход является более системным и соответствующим общенаучным подходам к определению парадигмы. Поэтому далее, описывая основные парадигмы и технологии программирования, будем придерживаться схемы классификации, изображенной на рис. 2.1.

Рис. 2.1. Классификация парадигм программирования

 

Развитие языков программирования с точки зрения различных парадигм и технологий представлено на рис.2.2.

Рис. 2.2. Развитие языков программирования

 

Возникшее, с появлением глобальной сети Internet, Web-программирование и языки его реализующие, определяют формирование современной, сценарной технологии программирования. Эти языки, подобно языкам, предназначенных для обработки данных в современных СУБД, скорее относятся к информационным технологиям, нежели к парадигмам и технологиям программирования в их классическом понимании. Поэтому в данном учебнике их рассмотрение не предусматривается.

 




Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 2003; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.