Programación Funcional x Programación Orientada a Objetos

Dec 11 2022
Tenemos varios estilos de codificación conocidos como paradigmas. La Programación Funcional (FP) y la Programación Orientada a Objetos (POO) son una de ellas.

Tenemos varios estilos de codificación conocidos como paradigmas . La Programación Funcional (FP) y la Programación Orientada a Objetos (POO) son una de ellas. Estos dos estilos de codificación son los más famosos y seguramente alguna vez en tu vida como programador, tendrás que describir la diferencia entre ellos. ¡Entonces vamos!

Programación funcional

Aquí usamos muchas funciones y variables. En FP, mantenemos los datos y las funcionalidades separados y pasamos datos a funciones solo cuando queremos que se calcule algo. Es decir, usamos los valores devueltos por estas funciones en otra parte del código.

A continuación tenemos un ejemplo que muestra el estilo de código FP. Tenga en cuenta que separamos la función de los datos y el valor que devuelve la función que usamos para consolar al espectador.

function getArea(a, b) {
    return a * b
}
var a = 2;
var b = 5;
var area = getArea(a, b);

console.log(area); // <= Use Here!

Aquí agrupamos datos y funcionalidades como propiedades y métodos dentro de objetos (por eso el nombre “orientado a objetos”). Esto es muy útil cuando queremos construir modelos de objetos de la vida real porque podemos agrupar propiedades y datos que juntos tienen sentido lógico.

Ahora, veamos cómo construir un perro usando el estilo de código OOP:

var dog = {
    legs: 4,
    sleepy: true,
    bark: function(){
      if(this.sleepy){
        console.log('Woof, Woof');
      } else {
         console.log('Zzzzz');
      }
    },
    nap: function() {
        this.sleepy = false
    }
}
console.log(dog.sleepy) // true
dog.bark(); // Woof, Woof
dog.nap();
console.log(dog.sleepy) // false
dog.bark(); //Zzzzz

Programación Funcional x Programación Orientada a Objetos

Por supuesto, estos dos estilos separados tienen muchos conceptos y principios, pero aquí solo me enfoqué en la principal diferencia entre ellos para que pueda tener una descripción general y estar listo para responder rápidamente cuando se le pregunte al respecto.

En resumen, podemos decir que el paradigma de la Programación Funcional funciona manteniendo los datos y la funcionalidad separados y la Programación Orientada a Objetos funciona manteniendo los datos y la funcionalidad agrupados en objetos significativos.

Referencia

Certificado profesional Meta Frontend Developer — (Curso 2) — Disponible en Coursera.