Programowanie wieloparadygmatowe

Wikipedia:Weryfikowalność
Ten artykuł od 2014-01 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Programowanie wieloparadygmatowe – paradygmat programowania, a w szczególności tworzenia języków programowania, który mówi, że każdy paradygmat nadaje się do ograniczonego zbioru zadań; lepiej jest więc przyzwoicie zaimplementować kilka różnych paradygmatów i dowolnie je mieszać w użyciu, niż zaimplementować tylko jeden (choć lepiej niż robiłby to język wieloparadygmatowy), i próbować go narzucać.

Klasycznym przykładem jest Perl, w którym obowiązuje zasada TMTOWTDI – „There’s More Than One Way To Do It” (Na wszystko jest więcej niż jeden sposób).[1] Perl pozwala na programowanie niskopoziomowe (bezpośrednie wywołanie funkcji systemu operacyjnego, operacje na bitach za pomocą pack), zorientowane tekstowo, relacyjnie, sieciowo, obiektowo czy też zdarzeniowo, ma cechy imperatywne, funkcjonalne i strukturalne. Właściwie dla każdego z tych paradygmatów można znaleźć język, który robi daną rzecz lepiej, ale nie taki który robi lepiej to wszystko.

Innym przykładem jest Ocaml, który od początku był stworzony jako połączenie paradygmatów funkcjonalnego, imperatywnego i obiektowego, ma też mocne biblioteki udostępniające funkcjonalność niskopoziomową, tekstową, sieciową czy relacyjną (choć w mniejszym stopniu niż Perl).

Podstawową zaletę, jaką jest duża swoboda w tworzeniu programów w językach tego typu, niweluje spadek czytelności kodu programu wraz ze wzrostem jego objętości, zwłaszcza dla osób trzecich; jeżeli bowiem na wszystko jest więcej niż jeden sposób, to osoba postronna czytająca kod musi znać dokładnie ten, który został w programie użyty. Jest to mało prawdopodobne, jeśli sposobów jest np. kilkadziesiąt.

Jedyny sposób na uniknięcie tego efektu to stosowanie dużej ilości komentarzy (w tym celu np. w Perlu wprowadzono nawet możliwość wprowadzania komentarzy wewnątrz wyrażeń regularnych).

Zobacz też

  • programowanie obiektowe

Przypisy

  1. There is more than one way to do it na stronie WikiWikiWeb (ang.)
  • p
  • d
  • e
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
i strukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne