Programació orientada a objectes versus programació procedimental
La programació orientada a objectes (OOP) i la programació procedimental són dos paradigmes de programació. Un paradigma de programació és un estil fonamental de programació d'ordinadors, i es diferencien en la manera com es representen els diferents elements del programa i com es defineixen els passos per resoldre problemes. Com el seu nom indica, OOP se centra a representar problemes mitjançant objectes del món real i el seu comportament, mentre que la Programació per procediments s'ocupa de representar solucions a problemes mitjançant procediments, que són col·leccions de codi que s'executen en un ordre específic. Hi ha llenguatges de programació que admeten aspectes clau de POO (anomenats llenguatges OOP), procedimentals (anomenats llenguatges de procediment) i tots dos. Però una cosa important a tenir en compte és que la POO i el procediment són dues maneres de representar problemes a resoldre, i no importa quin llenguatge s'utilitzi. En altres paraules, els llenguatges OOP es poden utilitzar per a la programació procedimental, mentre que els llenguatges procedimentals de vegades es poden utilitzar per a POO, amb cert esforç.
La programació procedimental és una manera de programar mitjançant la identificació del conjunt de passos per resoldre un determinat problema i l'ordre exacte en què s'han d'executar per arribar al resultat o estat desitjat. Per exemple, si voleu calcular el saldo de tancament de final de mes per a un compte bancari, els passos necessaris serien els següents. Primer, adquireixes el saldo inicial del compte i després redueixes tots els imports de dèbit produïts durant el mes. Després d'això, afegiu tots els imports de crèdit produïts durant el mes. Al final del procés, obtindreu el saldo de tancament de mes del compte. Un dels conceptes principals de la Programació Processal és la convocatòria de Procediment. Un procediment també conegut com a subrutina, mètode o funció conté una llista ordenada d'instruccions que cal dur a terme. Un procediment pot ser convocat en qualsevol moment durant l'execució per qualsevol altre procediment o per si mateix. Exemples de llenguatges de programació procedimentals són C i Pascal.
A la POO, l'enfocament se centra en pensar el problema a resoldre en termes d'elements del món real i representar el problema en termes d'objectes i el seu comportament. L'objecte és una estructura de dades que s'assembla molt a algun objecte del món real. Els objectes contenen camps de dades i mètodes que representen els atributs i el comportament dels objectes del món real. Hi ha diversos conceptes de POO importants com l'abstracció de dades, l'encapsulació, el polimorfisme, la missatgeria, la modularitat i l'herència. Alguns llenguatges OOP populars són Java i C. Tanmateix, també es poden utilitzar per dur a terme la programació de procediments.
La diferència clau entre la POO i la programació procedimental és que l'enfocament de la programació procedimental és desglossar la tasca de programació en una col·lecció de variables i subrutines, mentre que l'enfocament de la POO és desglossar la tasca de programació en objectes, que encapsulen dades i mètodes. La diferència més notable podria ser que, mentre que la programació per procediments utilitza procediments per operar directament en estructures de dades, OOP agruparà les dades i els mètodes perquè un objecte funcioni amb les seves pròpies dades. Quan es tracta de la nomenclatura, el procediment, el mòdul, la trucada de procediment i la variable a la programació procedimental sovint es denominen mètode, objecte, missatge i atribut en POO, respectivament.