języki |
paradygmaty |
asemblery, „stary" BASIC, „stary" Fortran |
imperatywny proceduralny |
„stary" Pascal, C |
imperatywny proceduralny strukturalny |
C++, Object Pascal, Ada |
imperatywny proceduralny strukturalny obiektowy |
Smalltalk, C#, Java |
obiektowy |
Lisp, Scheme, Logo, ML, OCaml |
proceduralny funkcyjny |
Haskell |
czysto funkcyjny |
Planner, Prolog |
logiczny |
Python, Ruby |
proceduralny strukturalny obiektowy funkcyjny |
SQL |
deklaratywny (ale ani ściśle funkcyjny, ani ściśle logiczny) |
Programowanie modularne - pośrednie między programowaniem obiektowym a proceduralnym. W tym paradygmacie głównym elementem programu jest moduł (pakiet) zawarty zwykle w osobnym pliku i w wielu aspektach traktowany jako obiekt. Języki: Ada, Haskell, Python.
Programowanie aspektowe - blisko związane z powyższym. Jego celem jest podział problemu na niezależne logicznie części i ograniczenie ich liczby styków oraz ścisłe kontrolowanie każdego z nich. Język: AspectJ.
Programowanie komponentowe - paradygmat związany z mo-dularyzacją programów i z programowaniem obiektowym. Komponentami są samodzielne obiekty wyposażone w ściśle wyspecyfikowany interfejs, wykonujące pewne określone usługi. Paradygmat ten związany jest z tzw. programowaniem zdarzeniowym. Języki: Eiffel, Oberon.