In de loop der tijd zijn er nieuwe paradigma's ontstaan, en mensen hebben die destijds, of achteraf, aangewezen. Een van de eerste paradigma's die werd erkend als een nieuwe manier van programmeren was gestructureerd programmeren uit de jaren 1960. Het idee van een "programmeerparadigma" stamt uit 1978, zo niet eerder, toen Robert W. Floyd het gebruikte tijdens het lesgeven. Het woord "paradigma" zoals Robert het bedoelde, werd voor het eerst gebruikt door Thomas Kuhn in zijn boek The Structure of Scientific Revolutions (1962).
Machinecode
Het laagste niveau (het dichtst bij hoe de computer dingen wil begrijpen) en oudste programmeerparadigma is machinecode, een imperatief paradigma. De aanwijzingen in machinecode zijn gewoon een reeks getallen in een bepaalde volgorde. Assembleertaal is iets minder low-level (en iets minder oud). In assemblagetaal krijgen de aanwijzingen voor de computer mnemonics (gemakkelijker te onthouden namen), en kunnen geheugenadressen (aanwijzingen om een stukje informatie in de computer te vinden) namen krijgen. Deze talen worden soms eerste- en tweede-generatietalen genoemd.
In de jaren 1960 werden assemblagetalen beter gemaakt door nieuwe dingen toe te voegen zoals bibliotheek COPY, macro's (stukjes "speciale" code die werden omgezet in normale code voordat het programma begon te draaien), lopende procedures (reeksen aanwijzingen die een naam kregen en voor later werden opgeslagen), en variabelen (items die een naam kregen en voor later werden opgeslagen) van buiten het programma. Hierdoor konden mensen sommige code in meer dan één project gebruiken, en hoefden zij zich geen zorgen te maken over hardwarespecifieke problemen (problemen die zich slechts op één soort computer voordoen) dankzij commando's (namen voor aanwijzingen) als READ/WRITE/GET/PUT.
Assembly werd, en wordt soms nog steeds, gebruikt in systemen waar het belangrijk is dat de code snel is, en het wordt ook veel gebruikt in embedded systemen omdat het de gebruiker exacte controle geeft over wat de machine doet.
Procedurele talen
Aan het eind van de jaren zestig begonnen mensen procedurele talen uit te vinden. Deze talen van de derde generatie (de eerste paar van wat we nu high-level talen noemen) hadden woorden die verband hielden met wat ze probeerden op te lossen. Bijvoorbeeld,
- COmmon Business Oriented Language (COBOL) - gebruikt woorden als file, move en copy.
- FORmula TRANslation (FORTRAN) - gebruikt wiskundige woorden en symbolen (vormen gebruikt bij het schrijven en typen). Het werd vooral ontwikkeld voor wetenschap en techniek.
- ALGOrithmic Language (ALGOL) - gemaakt voor het schrijven van algoritmen (reeksen stappen die de computer vertellen wat hij moet doen). Het gebruikt wiskundige woorden en symbolen, net als FORTRAN.
- Programming Language One (PL/I) - moest nuttig zijn voor iedereen.
- Beginners All Purpose Symbolic Instruction Code (BASIC) - gemaakt om beginners te helpen programmeren.
- C - een programmeertaal die voor veel dingen bedoeld is. Dennis Ritchie werkte eraan van 1969 tot 1973 bij AT&T Bell Labs.
Objectgeoriënteerd programmeren
Nadat velen procedurele talen waren gaan gebruiken, werden objectgeoriënteerde programmeertalen uitgevonden. In deze talen worden gegevens en hun "methoden" (manieren om de gegevens te manipuleren) in één "object" gestopt. Sommige programmeurs, zoals Richard Stallman, zijn het er niet mee eens dat objectgeoriënteerde talen beter zijn om ideeën aan een computer uit te leggen dan procedurele talen.
Omdat objectgeoriënteerd programmeren een paradigma is en geen taal, heeft men objectgeoriënteerde assemblagetalen gemaakt zoals HLA (High Level Assembly).
Declaratieve paradigma's
Tegelijkertijd maakten sommige mensen declaratieve programmeertalen. Een taal die bekend staat als declaratief is SQL (een taal voor het toevoegen en verwijderen van dingen uit tabellen).