Programación orientada a objetos versus programación de procedimiento
La programación orientada a objetos (OOP) y la programación de procedimientos son dos paradigmas de programación. Un paradigma de programación es un estilo fundamental de programación de computadoras, y difieren en la forma en que se representan diferentes elementos del programa y cómo se definen los pasos para resolver problemas. Como su nombre indica, OOP se centra en representar problemas que usan objetos del mundo real y su comportamiento, mientras que la programación de procedimientos trata de representar soluciones a problemas utilizando procedimientos, que son colecciones de código que se ejecutan en un orden específico. Existen lenguajes de programación que admiten aspectos clave de OOP (llamados lenguajes OOP), procedimientos (llamados lenguajes de procedimiento) y ambos. Pero una cosa importante a tener en cuenta es que la OOP y el procedimiento son dos formas de representar problemas a resolver, y no importa qué lenguaje se use. En otras palabras, los lenguajes OOP se pueden usar para la programación de procedimientos, mientras que los idiomas de procedimiento a veces se pueden usar para OOP, con cierto esfuerzo.
La programación procesal es una forma de programación identificando el conjunto de pasos para resolver un cierto problema y el orden exacto de que se ejecutaran para alcanzar el resultado o el estado deseados. Por ejemplo, si desea calcular el saldo de cierre de fin de mes para una cuenta bancaria, los pasos requeridos serían los siguientes. Primero, adquiere el saldo inicial de la cuenta y luego reduce todos los montos de débito ocurridos durante el mes. Después de eso, agrega todos los montos de crédito ocurridos durante el mes. Al final del proceso, obtendrá el saldo de cierre de fin de mes de la cuenta. Uno de los principales conceptos de programación procesal es la llamada de procedimiento. Un procedimiento también conocido como subrutina, método o función contiene una lista ordenada de instrucciones que se realizarán. Un procedimiento puede llamarse en cualquier momento durante la ejecución por cualquier otro procedimiento o por sí mismo. Ejemplos de lenguajes de programación de procedimientos son C y Pascal.
En OOP, el enfoque está en pensar en el problema que se resolverá en términos de elementos del mundo real y representar el problema en términos de objetos y su comportamiento. El objeto es una estructura de datos que se parece mucho a algún objeto del mundo real. Los objetos contienen campos de datos y métodos que representan atributos y comportamiento de los objetos del mundo real. Existen varios conceptos de OOP importantes, como la abstracción de datos, la encapsulación, el polimorfismo, la mensajería, la modularidad y la herencia. Algunos idiomas OOP populares son Java y C#. Sin embargo, también pueden usarse para realizar una programación de procedimientos.
La diferencia clave entre la OOP y la programación de procedimientos es que el enfoque de la programación de procedimientos es desglosar la tarea de programación en una colección de variables y subrutinas, mientras que el enfoque de OOP es descomponer la tarea de programación en objetos, que encapsulan datos y métodos. La diferencia más notable podría ser que, si bien la programación de procedimientos utiliza procedimientos para operar directamente en estructuras de datos, OOP agrupará los datos y los métodos para que un objeto funcione con sus propios datos. Cuando se trata de la nomenclatura, el procedimiento, el módulo, la llamada del procedimiento y la variable en la programación del procedimiento, a menudo se denominan método, objeto, mensaje y atributo en OOP, respectivamente.