Objektum-orientált programozás
A strukturális paradigma további logikus folytatása az objektumorientált paradigma. Ez szinte spontán módon jelent meg. Több programozó, aki az Algol strukturális nyelvvel dolgozott, véletlenül észrevette, hogy ha egy szubrutinban változókat deklarálunk, és azokat nem a veremre, hanem a heap nevű memóriaterületre helyezzük, akkor minden egymásba ágyazott szubrutin később hivatkozhat ezekre a változókra. Az alprogram, amelyben a változókat deklarálták, osztálykonstruktornak vált ismertté. Ezeket az ötleteket olyan nyelvekben fejlesztették tovább, mint a Smalltalk, sőt később a C++. Az OOP a Java megjelenésével nyerte el modernebb formáját.
Az objektumorientált programozás megjelenése erős lökést adott az egész iparágnak. Olyan fogalmak kerültek bevezetésre, mint az osztály és az objektum, lehetővé vált az altípusok polimorfizmusa, ami lehetővé tette a programozók számára, hogy a programlogika hasonló megvalósításait különböző módon fejlesszék.
Ennek eredményeképpen számos olyan progresszív programozási nyelv létezik, amely teljesen vagy részben különböző paradigmákat tartalmaz. A Java például csendben követi az imperatív paradigmát, és a strukturális paradigma technikáit is használja, de nem teljes mértékben. Egy Java programot nem lehet procedurális stílusban írni, mert teljesen objektumorientált. Egy Java program mindig egy osztállyal kezdődik, amelynek kell, hogy legyen Main metódusa, és ha van egy osztály, akkor az objektumorientált paradigmát követjük.
Ugyanakkor van egy ellentétes példa is - a Python. Ebben is vannak osztályok, nyugodtan lehet objektumorientált nyelvekhez sorolni, de senki nem tiltja meg, hogy teljesen procedurális stílusban írjunk kódot.
Fontos alapot fektet le egy programozási nyelv megalkotásakor az építész, és attól függően, hogy a paradigma egyik vagy másik paradigma javára hajlik, különböző lehetőségeket és programozási stílusokat kapunk, amelyeket a fejlesztők használhatnak.