Парадигма на програмиране

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Парадигмата на програмиране, парадигма за програмиране или програмна парадигма представлява фундаменталния стил на програмиране. Има множество програмни парадигми, но основните сред тях са: обектно-ориентирано, императивно, функционално и декларативно [1].

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

Различните програмни езици препоръчват различни парадигми на програмиране. Някои езици са проектирани да поддържат някоя определена парадигма на програмиране - SmallTalk и Java поддържат обектно-ориентираното програмиране, докато Lisp поддържа функционалното програмиране. Някои езици за програмиране поддържат повече от една парадигма - C++ поддържа и обектно-ориентирано програмиране, и процедурно програмиране.

Много парадигми на програмиране са познати повече с това какво забраняват, от колкото с това какво препоръчват. Например функционалното програмиране забранява използването на странични ефекти, структурното програмиране забранява употребата на goto. Заради това новите парадигми обикновено се приемат като твърде сурови и ограничаващи от програмистите, свикнали вече с някакъв предишен стил на програмиране. Но трябва да се отбележи, че избягването на определени техники може да подпомогне доказването на коректността на програмата или просто да улесни разбирането на поведението ѝ, като при това не ограничава приложимостта на програмния език.

Отношението между парадигмите на програмиране и програмните езици може да бъде доста сложно, тъй като един език може да поддържа повече от една парадигма. Например C++ е проектиран да поддържа елементи от процедурното програмиране, обектно-ориентираното програмиране, обектно-базираното програмиране и родовото програмиране. Един C++ програмист може да напише чисто процедурна програма, или чисто обектно-ориентирана програма, а може да напише и програма, която обединява елементи и от двете парадигми.

Примери[редактиране | edit source]

Източници[редактиране | edit source]

  1. ((en)) Nørmark, Kurt. Overview of the four main programming paradigms. Aalborg University, 9 май 2011. Линк ат 22 септември 2012.
Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ   Тази страница частично или изцяло представлява превод на страницата „Programming paradigm“ в Уикипедия на английски. Оригиналната статия, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание, Споделяне на споделеното“, а за статии създадени преди юни 2009 — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната статия, както и преводната страница, за да видите списъка на съавторите.