Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером[1].
Programming paradigm ni jumla ya mawazo na dhana zinazoainisha mtindo wa kutengeneza programu za kompyuta.
Важно отметить, что парадигма программирования не определяется однозначно языком программирования; практически все современные языки программирования в той или иной мере допускают использование различных парадигм (мультипарадигмальное программирование).
Programming paradigm haiainishwi na lugha ya kutengeneza programu za kompuyta (programming language) tu. Karibu na lugha zote za kutengeneza programu za kompuyta za kisasa zinakubalia matumizi ya paradigms mbalimbali.
Так, на языке Си, который не является объектно-ориентированным, можно работать в соответствии с принципами объектно-ориентированного программирования, хотя это и сопряжено с определёнными сложностями; функциональное программирование можно применять при работе на любом императивном языке, в котором имеются функции, и т. д.
Kwa mfano lugha ya C isiyo object-oriented inakubalia kutumiwa kufuatana na kanuni za object-oriented programming ingawa itakuwa na matatizo kadhaa. Functional programming inawezekana kutumiwa katika lugha yo yote ya imperative inayo functions na kadhalika.
Своим современным значением в научно-технической области термин «парадигма» обязан, по-видимому, Томасу Куну и его книге «Структура научных революций» (см. парадигма).
Istilahi ya“paradigm”yenye maana ya sayansi na teknolojia ya kisasa ilionekana kwenye kitabu cha Thomas Kuhn kinachoitwa Muundo wa mapinduzi ya teknolojia (The Structure of Scientific Revolutions) mwaka 1962 mara ya kwanza.
Кун называл парадигмами устоявшиеся системы научных взглядов, в рамках которых ведутся исследования.
Kuhn alitumia neno la paradigm kwa maana ya mifumo imara ya maoni ya kisayansi uchunguzi uliofanyiwa ndani yao.
Согласно Куну, в процессе развития научной дисциплины может произойти замена одной парадигмы на другую (как, например, геоцентрическая небесная механика Птолемея сменилась гелиоцентрической системой Коперника), при этом старая парадигма ещё продолжает некоторое время существовать и даже развиваться благодаря тому, что многие её сторонники оказываются по тем или иным причинам неспособны перестроиться для работы в другой парадигме.
Kwa mujibu wa Kuhn wakati wa maendeleo ya taaluma ya kisayansi paradigm moja inaweza kubadiliwa na nyingine (kwa mfano Ptolemy alieleza muundo wa ulimwengu kwa kusema kuwa jua linazunguka dunia na paradigm hiyo ilibadilishwa na paradigm cha Copernicus aliyesema kuwa dunia linazunguka jua) ijapo paradigm ya kale inaendelea kuwa muda fulani na hata kusitawi kwa sababu wafuasi wake wengi hawawezi kufanya kazi kufuatana na paradimg niyingine kwa sababu hii au ile.
Термин «парадигма программирования» впервые применил в 1978 году Роберт Флойд в своей лекции[2] лауреата премии Тьюринга.
Istilahi ya“programming paradigm”ilitumiwa na Robert W Floyd wakati wa hotuba yake ya mwenye tunzo wa Turing Award.
Флойд отмечает, что в программировании можно наблюдать явление, подобное парадигмам Куна, но, в отличие от них, парадигмы программирования не являются взаимоисключающими:
Floyd anazingatia kwamba katika kompuyta programming inawezekana kuona tokeo linalofanana na paradigms za Kuhn lakini kwa kutofautiana navyo programming paradigms hazitengani.
История термина
Historia ya istilahi
Если прогресс искусства программирования в целом требует постоянного изобретения и усовершенствования парадигм, то совершенствование искусства отдельного программиста требует, чтобы он расширял свой репертуар парадигм.
Ikiwa maendeleo ya ustadi wa kompyta programming kwa jumla yanahitaji uvumbuzi na uendelezaji wa paradigms wa kudumu maendeleo ya ustadi wa mtengeneza programu mmoja yanahitaji aongeze idadi ya paradigms alizo nazo.
Таким образом, по мнению Роберта Флойда, в отличие от парадигм в научном мире, описанных Куном, парадигмы программирования могут сочетаться, обогащая инструментарий программиста.
Kwa hiyo kufuatana na Robert W Floyd kutofautiana na paradigms za kisayansi zilizoelezwa na Kuhn programming paradigms zinaweza kutangamana zikiongeza idadi yao mtengeneza programu anayodhibiti.
Парадигма программирования
Programming paradigm