Računalni programeri evoluirali su od ranih dana za bitnu obradu jezika prve generacije u sofisticirane logičke dizajnere složenih softverskih aplikacija. Programska paradigma je logički pristup koji se koristi u softverskom inženjerstvu koji opisuje kako se programski jezik implementira. Paradigme programiranja jedinstvene su za svaki jezik unutar domene računalnog programiranja, a mnogi programski jezici koriste više paradigmi. Pojam paradigma najbolje je opisati kao “uzorak ili model”. Stoga se paradigma programiranja može definirati kao uzorak ili model koji se koristi unutar softverskog programskog jezika za stvaranje softverskih aplikacija.
Programski jezici su izuzetno logični i slijede standardna pravila matematike. Svaki jezik ima jedinstvenu metodu za primjenu ovih pravila, posebno oko područja funkcija, varijabli, metoda i objekata. Postoje mnoge programske paradigme; primjeri uključuju objektno orijentirano, proceduralno i strukturirano programiranje. Svaka paradigma ima jedinstvene zahtjeve za korištenje i apstrakcije procesa unutar programskog jezika.
Korisno je razumjeti povijest programskog jezika i softvera općenito kako bi se bolje shvatio koncept programske paradigme. U ranim danima razvoja softvera, softversko inženjerstvo je dovršeno stvaranjem binarnog koda ili strojnog koda, predstavljenog 1s i 0s. Ove binarne manipulacije uzrokovale su da programi reagiraju na određeni način. Ovo rano računalno programiranje obično se naziva paradigma programiranja “niske razine”.
Ovo je bila dosadna i sklona pogreškama metoda za stvaranje programa. Programski jezici brzo su se razvili u “proceduralnu” paradigmu ili jezike treće generacije uključujući COBOL, Fortran i BASIC. Ovi proceduralni programski jezici definiraju programe u pristupu korak po korak.
Sljedeća evolucija programskih jezika bila je stvaranje logičnijeg pristupa razvoju softvera, paradigme “objektno orijentiranog” programiranja. Ovaj pristup koriste programski jezici Java™, Smalltalk i Eiffel. Ova paradigma pokušava apstrahirati module programa u objekte za višekratnu upotrebu.
Osim ovih programskih paradigmi, postoje i “deklarativne” paradigme i “funkcionalne” paradigme. Dok neki programski jezici strogo provode upotrebu jedne paradigme, mnogi podržavaju više paradigmi. Neki primjeri ovih tipova uključuju C++, C# i Visual Basic®.
Dopuštajući programerima fleksibilnost unutar programskih jezika, može se koristiti paradigma programiranja koja najbolje odgovara poslovnom problemu koji treba riješiti. Kako je evoluirala umjetnost računalnog programiranja, tako se razvijalo i stvaranje paradigme programiranja. Stvaranjem okvira uzorka ili modela za razvoj sustava, programeri mogu kreirati računalne programe kako bi bili najučinkovitiji unutar odabrane paradigme.