Парадигма: Разлика между версии

Изтрито е съдържание Добавено е съдържание
→‎В програмирането: Бързи правописни дреболии и интервали.
мРедакция без резюме
Ред 37:
=== В програмирането ===
{{основна|Програмна парадигма}}
Програмната парадигма е основен стил на програмиране, отнасящ се до това как трябва да бъдат формулирани решенията на проблемите в един програмен език. Една програмна парадигма осигурява (и определя) гледната точка, която програмистът има относно изпълнението на програмата. Например в [[ООПОбектно-ориентирано програмиране|обектно-ориентираното програмиране]] програмистите могат да приемат програмата като сбор от взаимодействащи си обекти, докато във [[функционално програмиране|функционалното програмиране]] една програма може да бъде приемана за последователност от функционални изчисления.
 
При програмиране на компютри или системи с много процесори [[ПОП|процесно ориентираното програмиране]] позволява на програмистите да мислят за програмите като за групи от успоредни процеси, действащи въз основа на логически споделени структури от данни. Точно както различните групи в софтуерното инженерство поддържат различни методи, така и различните програмни езици поддържат различни програмни парадигми. Някои езици са предназначени да поддържат една определена парадигма (Smalltalk и С+ поддържат обектно ориентираното програмиране, а [[Haskell]] поддържа функционално програмиране), докато други програмни езици поддържат много парадигми (като С++, Common Lisp, Scheme, Python, Ruby и Oz). Много програмни парадигми са добре познати както с командите, които забраняват, така и с тези, които позволяват. Например чисто функционалното програмиране позволява употребата на странични ефекти; структурираното програмиране не позволява употребата на командата Go to. Отчасти поради тази причина новите парадигми се считат за ограничени или твърде строги от тези,които са свикнали с по-ранни стилове. Това избягване на някои команди обаче може да улесни доказването на теореми за точността на една програма или просто да разбере нейното поведение, без да ограничава общия характер на програмния език. Връзката между програмните парадигми и програмните езици може да бъде сложна, понеже програмния език може да поддържа много парадигми. Например C++ е предназначен да поддържа елементи от процедурното програмиране, обектно ориентираното програмиране и общото програмиране. Проектантите и програмистите обаче решават как да създадат една програма, използвайки тези елементи на парадигмата. Може да бъде написана изцяло процедурна програма на C++, може да бъде написана изцяло обектно ориентирана програма или пък да бъде написана програма, която съдържа елементи и от двете парадигми.