Programación Funcional x Programación Orientada a Objetos
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.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































