Paradygmat programowania
Z Wikipedii
Paradygmat programowania (ang. programming paradigm) — paradygmatyczny wzorzec programowania przedkładany w danym okresie rozwoju informatyki ponad inne lub szczególnie ceniony w pewnych okolicznościach lub zastosowaniach.
Paradygmat programowania definiuje sposób patrzenia programisty na przepływ sterowania i wykonywanie programu komputerowego. Przykładowo, w programowaniu zorientowanym obiektowo jest on traktowany jako zbiór współpracujących ze sobą obiektów, podczas gdy w programowaniu funkcyjnym definiujemy, co trzeba wykonać, a nie w jaki sposób.
Różne języki programowania mogą wspierać różne paradygmaty programowania. Przykładowo, Smalltalk i Java są ściśle zaprojektowane dla potrzeb programowania obiektowego, natomiast Haskell jest językiem funkcyjnym. Istnieją także języki wspierające kilka paradygmatów, np. Common Lisp oraz Python.
Wiele paradygmatów jest dobrze znanych z tego, jakie praktyki są w nich zakazane, a jakie dozwolone. Ścisłe programowanie funkcyjne nie pozwala na tworzenie skutków ubocznych. W programowaniu strukturalnym nie korzysta się z instrukcji goto. Częściowo z tego właśnie powodu nowe paradygmaty są uważane za zbyt ścisłe przez osoby przyzwyczajone do wcześniejszych stylów. Jednakże takie omijanie pewnych technik znacznie ułatwia przeprowadzanie dowodów o poprawności programu, lub po prostu zrozumienia jego działania, bez ograniczania samego języka programowania.
Zależności między paradygmatami programowania mogą przybierać skomplikowane formy, ponieważ jeden język może wspierać wiele różnych paradygmatów. Na przykład, C++ posiada elementy programowania proceduralnego, obiektowego oraz uogólnionego. To projektanci i programiści decydują, jak zbudować z nich wszystkich w pełni działający program. Niektórzy decydują się na ścisłe programowanie proceduralne, natomiast inni łączą ze sobą elementy wielu paradygmatów w zależności od potrzeb.