Aquest article se centra a discutir les diferències entre la programació procedimental i la programació orientada a objectes.
Programació procedimental
La programació procedimental es pot definir com un model de programació que es deriva de la programació estructurada, basada en el concepte de procediment de crida. Els procediments, també coneguts com a rutines, subrutines o funcions, consisteixen simplement en una sèrie de passos computacionals que cal dur a terme. Durant l'execució d'un programa, qualsevol procediment determinat es pot cridar en qualsevol moment, inclosos altres procediments o ell mateix.
Llenguatges utilitzats en la programació procedimental:
FORTRAN, ALGOL, COBOL,
BASIC, Pascal i C.
Programació Orientada a Objectes
La programació orientada a objectes es pot definir com un model de programació que es basa en el concepte d'objectes. Els objectes contenen dades en forma d'atributs i codi en forma de mètodes. En la programació orientada a objectes, els programes d'ordinador es dissenyen utilitzant el concepte d'objectes que interactuen amb el món real. Els llenguatges de programació orientats a objectes són diversos, però els més populars estan basats en classes, és a dir, els objectes són instàncies de classes, que també determinen els seus tipus.
Llenguatges utilitzats en la programació orientada a objectes:
Java, C++, C#, Python,
PHP, JavaScript, Ruby, Perl,
Objectiu-C, Dard, Swift, Scala.
Programació procedimental vs programació orientada a objectes
A continuació es mostren algunes de les diferències entre la programació procedimental i la programació orientada a objectes:
| Programació orientada a procediments | Programació Orientada a Objectes |
|---|---|
| En la programació procedimental, el programa es divideix en petites parts anomenades funcions . | En la programació orientada a objectes, el programa es divideix en petites parts anomenades objectes . |
| La programació procedimental segueix a enfocament de dalt a baix . | La programació orientada a objectes segueix a enfocament de baix a dalt . |
| No hi ha un especificador d'accés a la programació de procediments. | La programació orientada a objectes té especificadors d'accés com privat, públic, protegit, etc. |
| Afegir noves dades i funcions no és fàcil. | Afegir noves dades i funcions és fàcil. |
| La programació procedimental no té cap manera adequada d'amagar les dades, així que sí menys segur . | La programació orientada a objectes ofereix l'amagat de dades, així és més segur . |
| En la programació procedimental, la sobrecàrrega no és possible. | La sobrecàrrega és possible en la programació orientada a objectes. |
| En la programació procedimental, no hi ha concepte d'amagat i herència de dades. | En la programació orientada a objectes, s'utilitza el concepte d'amagat i herència de dades. |
| En la programació de procediments, la funció és més important que les dades. | En la programació orientada a objectes, les dades són més importants que la funció. |
| La programació procedimental es basa en el món irreal . | La programació orientada a objectes es basa en el món real . |
| La programació procedimental s'utilitza per dissenyar programes de mida mitjana. | La programació orientada a objectes s'utilitza per dissenyar programes grans i complexos. |
| La programació procedimental utilitza el concepte d'abstracció de procediments. | La programació orientada a objectes utilitza el concepte d'abstracció de dades. |
| Reutilitzabilitat del codi absent en la programació de procediments, | La reutilització del codi present en la programació orientada a objectes. |
| Exemples: C, FORTRAN, Pascal, Basic, etc. | Exemples: C++, Java, Python, C#, etc. |