logo

Diferencias entre programación procedimental y orientada a objetos

Este artículo se centra en discutir las diferencias entre programación procedimental y orientada a objetos.

Programación procesal

La programación procedimental se puede definir como un modelo de programación que se deriva de la programación estructurada, basada en el concepto de llamada a procedimiento. Los procedimientos, también conocidos como rutinas, subrutinas o funciones, consisten simplemente en una serie de pasos computacionales a realizar. Durante la ejecución de un programa, cualquier procedimiento determinado puede ser llamado en cualquier momento, incluso por otros procedimientos o por sí mismo.



Lenguajes utilizados en Programación Procedural:

FORTRAN, ALGOL, COBOL,

BÁSICO, Pascal y C.



Programación orientada a objetos

La programación orientada a objetos se puede definir como un modelo de programación que se basa en el concepto de objetos. Los objetos contienen datos en forma de atributos y código en forma de métodos. En la programación orientada a objetos, los programas de computadora se diseñan utilizando el concepto de objetos que interactúan con el mundo real. Los lenguajes de programación orientados a objetos son varios, pero los más populares están basados ​​en clases, lo que significa que los objetos son instancias de clases, que también determinan sus tipos.

Lenguajes utilizados en Programación Orientada a Objetos:

Java, C++, C#, Pitón,



PHP, JavaScript, Rubí, Perl,

Objetivo-C, Dart, Swift, Scala.

Programación procedimental versus programación orientada a objetos

A continuación se detallan algunas de las diferencias entre programación procedimental y orientada a objetos:

Programación orientada a procedimientos Programación orientada a objetos
En la programación procedimental, el programa se divide en pequeñas partes llamadas funciones . En la programación orientada a objetos, el programa se divide en pequeñas partes llamadas objetos .
La programación procesal sigue un enfoque de arriba hacia abajo . La programación orientada a objetos sigue un enfoque de abajo hacia arriba .
No hay ningún especificador de acceso en la programación de procedimientos. La programación orientada a objetos tiene especificadores de acceso como privado, público, protegido, etc.
Agregar nuevos datos y funciones no es fácil. Agregar nuevos datos y funciones es fácil.
La programación de procedimientos no tiene ninguna forma adecuada de ocultar datos, por lo que es menos seguro . La programación orientada a objetos proporciona ocultación de datos, por lo que es más seguro .
En la programación de procedimientos, la sobrecarga no es posible. La sobrecarga es posible en la programación orientada a objetos.
En la programación de procedimientos, no existe el concepto de ocultación y herencia de datos. En la programación orientada a objetos, se utiliza el concepto de herencia y ocultación de datos.
En programación procesal, la función es más importante que los datos. En la programación orientada a objetos, los datos son más importantes que la función.
La programación procesal se basa en la mundo irreal . La programación orientada a objetos se basa en la mundo real .
La programación procesal se utiliza para diseñar programas de tamaño mediano. La programación orientada a objetos se utiliza para diseñar programas grandes y complejos.
La programación procesal utiliza el concepto de abstracción de procedimientos. La programación orientada a objetos utiliza el concepto de abstracción de datos.
La reutilización del código está ausente en la programación de procedimientos. La reutilización del código presente en la programación orientada a objetos.
Ejemplos: C, FORTRAN, Pascal, Básico, etc. Ejemplos: C++, Java, Python, C#, etc.