Ten artykuł pokrótce prezentuje jedno z najważniejszych zagadnień, jakie musi poznać programista – paradygmaty programowania. Jest to wstęp do dalszego pogłębiania wiedzy o paradygmatach.
Fundamenty programowania
Jak łatwo opanować sztukę programowania Dowiedz się więcej
Czym jest paradygmat programowania?
Kiedy programista pisze kod, który ma osiągnąć określony rezultat, stawia przed sobą problem, który może zostać rozwiązany na różne sposoby. Jeden sposób pisania kodu jest bardziej skuteczny w rozwiązaniu danego rodzaju problemów, podczas gdy inne podejście sprawdzi się lepiej przy innego rodzaju problemach. Jeszcze inne metody są całkiem nieskuteczne i należy oduczyć się używania ich.
Paradygmaty programowania są właśnie stylami pisania programów. Sposobami myślenia, dzięki którym programiści skutecznie piszą kod. Paradygmat wyznacza zbiór reguł, jakich należy przestrzegać podczas tworzenia programu.
Rodzaje paradygmatów programowania
Istnieje wiele paradygmatów i sposobów, w jakie są klasyfikowane. Przyjmuje się podział paradygmatów programowania na dwie ogólne grupy: imperatywne i deklaratywne.
Imperatywne paradygmaty mają starszy rodowód. W tym podejściu program postrzegany jest jako ciąg komend wydawanych maszynie. Zadania wykonywane są krok po kroku poprzez zmienianie stanu maszyny. Do programowania imperatywnego należą między innymi paradygmaty takie jak programowanie proceduralne, programowanie obiektowe i podejście oparte na procesowaniu równoległym.
Paradygmaty deklaratywne różnią się od imperatywnych tym, iż zamiast opisywać dokładnie to, w jaki sposób program ma dotrzeć do celu, programista opisuje to, co ma zostać osiągnięte przez program. W programowaniu deklaratywnym programy mogą być postrzegane jako pewne teorie logiki formalnej, podczas gdy wykonywane przez program obliczenia postrzegane są jako dedukcje w ramach teorii. Rodzaje programowania zaliczane do paradygmatów deklaratywnych to na przykład funkcyjne, logiczne oraz podejście oparte na procesowaniu baz danych.
Typowo za najbardziej popularne uznawane są cztery paradygmaty programowania: proceduralne, funkcyjne, obiektowe i logiczne.
Programowanie proceduralne
Paradygmatem programowania proceduralnego nazywany jest taki typ programowania imperatywnego, w którym wydawane komputerowi instrukcje grupowane są w procedury. Ten paradygmat nie ma wielu reguł, których trzeba się trzymać. Jego zaletą jest prostota. Nadaje się głównie do pisania mniej skomplikowanych programów.
Główną regułą, na którą trzeba zwracać uwagę w programowaniu proceduralnym, jest dzielenie kodu na autonomiczne części, czyli moduły. Dany moduł posługuje się swoimi własnymi zmiennymi. Unika się stosowania zmiennych globalnych. Taka procedura nadaje się do wielokrotnego wykorzystania w różnych programach. Podejście to ułatwia też współpracę pomiędzy programistami. Dana procedura może być wywołana w dowolnym momencie wykonywania programu, również przez inne procedury i przez samą siebie.
Fundamenty programowania w Python
Zobacz kursFundamenty programowania obiektowego
Zobacz kursKurs C++ od zera do bohatera
Zobacz kursProgramowanie obiektowe
Paradygmat programowania obiektowego znany jest też pod nazwą programowania obiektowo zorientowanego. Do programowania proceduralnego upodabnia je to, iż też należy do paradygmatów imperatywnych i też polega na modułach. Budowa modułów jest jednak inna w tym paradygmacie.
Programowanie proceduralne grupuje instrukcje w procedury zmieniające stan programu, a programowanie obiektowe grupuje instrukcje razem z częścią stanu, na której operują. W ten sposób powstają obiekty, będące połączeniem określonego stanu (inaczej danych lub atrybutów) z określonym zachowaniem (inaczej procedurą lub metodą).
W tym paradygmacie program jest zbiorem obiektów, które porozumiewają się ze sobą, żeby wykonać zadania. Używany jest mechanizm dziedziczenia pozwalający tworzyć nowe obiekty z już istniejących.
Programowanie funkcyjne
W paradygmacie funkcyjnym program traktowany jest jako pewna funkcja matematyczna, która otrzymuje dane wejściowe i zwraca wynik. Zawsze ten sam dla tych samych danych. W programowaniu funkcyjnym nie ma stanu i zmiennych.
Programowanie logiczne
W paradygmacie programowania logicznego program postrzegany jest jako zbiór przesłanek (zależności), a wykonywanie programu jest próbą udowodnienia pewnego kandydującego stwierdzenia (celu) opartego na tych przesłankach. Do zalet tego paradygmatu należy możliwość równoległego wykonywania wielu programów.
Paradygmat a język
Trzeba uważać, żeby nie pomylić pojęcia paradygmatu z pojęciem języka programowania. Paradygmat to sposób robienia rzeczy (na przykład programowania), a nie konkretna rzecz (na przykład język). Języki używane są do programowania w określonych paradygmatach. Większość języków obsługuje więcej niż jeden paradygmat.
Podsumowanie
W artykule opisane zostały najpopularniejsze paradygmaty programowania. Możesz uczyć się też innych. Gdy nabierzesz praktyki, będziesz wiedział, którego paradygmatu użyć w danej sytuacji. Wszystko zależy od potrzeb konkretnego fragmentu programu, a także od Twoich preferencji.