Skip to content

Latest commit

 

History

History
47 lines (26 loc) · 2.63 KB

File metadata and controls

47 lines (26 loc) · 2.63 KB

Programación orientada a objetos🍐 vs Programación funcional🍎

OOP vs FP es uno de los paradigmas más hablados en la programación. Pero primero ¿Qué era un paradigma?

Un paradigma de programación es un enfoque para resolver problemas usando algún lenguaje de programación o también podemos decir que es un método para resolver un problema usando herramientas y técnicas que están disponibles para nosotros siguiendo algún enfoque.

Okay, entonces nos podemos quedar con que es un ‘enfoque’ o ‘método’ para resolver problemas al programar. Guay!🤠

Pero ¿Cuáles son las principales diferencias? 🤔 Pues, aquí traigo una chuleta 🥩 de emergencia!

Funtional Programing (FP) o Programación funcional 🍎

  • Secuencia de operaciones.

  • Sus 'Inputs' son los 'outputs' de otras operaciones y 'outputs' que produce serán los 'inputs' para la siguiente operación.

  • Por defecto, ninguna rama de codigo puede afectar otras.

  • Separa la 'data' y las operaciones, evitando efectos secundarios y escribiendo funciones puras.

  • Las funciones no modifican el mundo exterior en el que se encuentran y su resultado dependerá del argumento dado.

  • Las funciones son ciudadanos de primera categoría.

Object Oriented Programing (OOP) o Programación orientada a objetos 🍐

  • Organiza el software en base a 'data' u 'objetos', no funciones y lógica.

  • Organiza el código como una unidad.

  • Esta basada en los siguientes principios:

    • Encapsulación -> la implementación y estado de cada objeto es mantenido dentro de su clase. Otros objetos no pueden acceder a ellos.
    • Abstracción -> los objetos solo revelan mecanismos internos que sean relevantes a otros objetos, ocultando código innecesario.
    • Herencia -> relaciones y subclases entre objetos pueden ser reasignadas, permitiendo a los desarrollaores reutilizar una lógica común y al mismo tiempo mantener una jerarquía.
    • Polimorfismo -> los objetos pueden tomar mas de una forma dependiendo del contexto (esto lo determinará el programa o su utilización)

Lecturas interesantes:

✨¡Espero que te haya ayudado!✨

< Volver al índice