|
Article on other languages:
|
Паради́гма программи́рования — это парадигма, определяющая стиль программирования, иначе говоря — некоторый цельный набор идей и рекомендаций, определяющих стиль написания программ. Парадигма программирования представляет (и определяет) то, как программист видит выполнение программы. Например, в объектно-ориентированном программировании программист рассматривает программу как набор взаимодействующих объектов, тогда как в функциональном программировании программа представляется в виде цепочки вычисления функций. Приверженность определенного человека какой-то одной парадигме иногда носит настолько сильный характер, что споры о преимуществах и недостатках различных парадигм относятся в околокомпьютерных кругах к разряду так называемых «религиозных» (или «священных») войн.
История терминаСвоим современным значением в научно-технической области термин «парадигма» обязан, по-видимому, Томасу Куну и его книге «Структура научных революций» (см. парадигма). Кун называл парадигмами устоявшиеся системы научных взглядов, в рамках которых ведутся исследования. Согласно Куну, в процессе развития научной дисциплины может произойти замена одной парадигмы на другую (как, например, геоцентрическая небесная механика Птолемея сменилась гелиоцентрической системой Коперника), при этом старая парадигма еще продолжает некоторое время существовать и даже развиваться благодаря тому, что многие ее сторонники оказываются по тем или иным причинам неспособны перестроиться для работы в другой парадигме. Термин «парадигма программирования» впервые применил Роберт Флойд в своей лекции[1] лауреата премии Тьюринга. Флойд отмечает, что в программировании можно наблюдать явление, подобное парадигмам Куна, но, в отличие от них, парадигмы программирования не являются взаимоисключающими:
Таким образом, по мнению Роберта Флойда, в отличие от парадигм в научном мире, описанных Куном, парадигмы программирования могут сочетаться, обогащая инструментарий программиста. Различные определенияДалеко не все авторы, использующие термин «парадигма программирования», решаются дать интенсиональное определение используемому термину. Однако и те определения, которые удается найти, серьезно отличаются друг от друга. Диомидис Спинеллис даёт следующее определение[2]:
Для сравнения тот же автор приводит определения из других работ. В статье Дэниела Боброва [3] парадигма определяется как «стиль программирования как описания намерений программиста». Брюс Шрайвер (Bruce Shriver) определяет парадигму программирования как «модель или подход к решению проблемы» [4], Линда Фридман (Linda Friedman) - как «подход к решению проблем программирования» [5]. Памела Зейв (Pamela Zave) дает определение парадигмы как «способа размышления о компьютерных системах» (в оригинале «way of thinking about computer systems») [6] Питер Вегнер (Peter Wegner) предлагает другой подход к определению термина парадигмы программирования. В его работе «Concepts and paradigms of object-oriented programming»[7]парадигмы определяются как «правила классификации языков программирования в соответствии с некоторыми условиями, которые могут быть проверены». Тимоти Бадд предлагает понимать термин «парадигма» как «способ концептуализации того, что значит «производить вычисления», и как задачи, подлежащие решению на компьютере, должны быть структурированы и организованы» [8] Примеры
Основные модели программированияПодходы и приёмы
См. такжеПримечания
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net