Програмерска парадигма

Програмерска парадигма е стил на програмирање (слично како што методологијата, е стил на практикување на софтверското инженерство).

Програмерската парадигма го овозможува (и определува) начинот на кој програмерот го гледа извршувањето на програмот. Така на пример, во објектно ориентираното програмирање, програмерите ја гледаат програмата како колекција на објекти кои меѓу себеси дејствуваат, додека во функционалното програмирање програмот може да се замисли како низа на функции. Кај програмирање на компутери или системи со повеќе обработувачи, процес ориентирано програмирање, програмерите апликациите ги замислуваат како процеси кои се одвиваат по некоја логика врз заедничка структура на податоци.

Слично како во софтверското инженерство различни групи предлагаат различни методологии, така и различни програмски јазици налагаат различни програмерски парадигми. Некои програмски јазици се дизајнирани да поддржуваат одредена парадигма(Smalltalk и Java поддржуваат објектно ориентирано програмирање, додека Haskell и Scheme поддржуваат функционално програмирање), а некои програмски јазици поддржуваат повеќе програмерски парадигми (Common Lisp, Python, Ruby и Oz).

Познато е дека одредени програмерски парадигми поддржуваат одредени техники а некои не. Пример, чисто функционално програмирње не допушта користење на странични ефекти; структурното програмирање не допушта користење на наредбата goto.

Врската помеѓу програмерските парадигми и програмските јазици може да биде комплексна бидејќи програмскиот јазик може да поддржува повеќе парадигми. Пример, C++ е дизајниран да поддржува елементи на процедурално програмирање, објектно ориентирано програмирање, објектно засновано програмирање, агент ориентирано програмирање и генеричко програмирање. Се разбира, дизајнерите и програмерите одлучуваат како ќе го кодираат програмот, со користење на која парадигма. Некои програми во C++ можат да бидат напишани чисто процедурално, некои чисто објект ориентирано, некои со комбинација на овие две парадигми.

Примери уреди

Поврзано уреди