$30 off During Our Annual Pro Sale. View Details »

Paradigmas de programación y un un vistazo a lo funcional

mordonez
September 15, 2016

Paradigmas de programación y un un vistazo a lo funcional

Esta presentación fue de la cuarta reunión de Scala Perú, se trataron temas conceptuales como los paradigmas de programación y se dió un vistazo a algunos conceptos de programación funcional.

mordonez

September 15, 2016
Tweet

More Decks by mordonez

Other Decks in Technology

Transcript

  1. @mordonez_me
    Marco Ordoñez
    Scala Perú
    4to meetup Scala Perú

    View Slide

  2. @mordonez_me
    Marco Ordoñez
    Apasionado de las nuevas tecnologías.
    Usuario de las tecnologías de Scala desde hace ~3 años.
    Fundador de la empresa Evolbit (www.evolbit.net).
    Promotor del uso de los principios reactivos en el desarrollo de Software.

    View Slide

  3. Perú users group
    Paradigmas de programación
    ¿Por qué la programación funcional?

    View Slide

  4. Perú users group
    Los paradigmas de programación más populares son:
    Programación orientada a objetos: Imperativa, permite la construcción de programas a través de
    objetos y trae consigo técnicas como polimorfismo, encapsulación entre otras.
    Programación funcional: Declarativa, está basada en la premisa de construir programas utilizando
    funciones puras.
    Paradigmas de programación
    Paradigmas de programación

    View Slide

  5. Perú users group
    Paradigmas de programación
    La programación funcional nos permite razonar sobre la solución de un problema utilizando solo
    funciones puras, esto quiere decir que no tiene efectos secundarios.
    ¿Por qué la programación funcional?
    ¿Que son efectos secundarios?
    Podemos decir que una función tiene un efecto secundario si esa función hace otra cosa que no sea
    devolver un valor, por ejemplo: modificar una variable, modificar la propiedad de un objeto, dar
    una excepción, mostrar mensajes en la consola, leer y escribir en el disco entre otros.
    ¿Por qué me deben de importar los efectos secundarios?
    Porque al tener efectos secundarios el orden de evaluación importa.

    View Slide

  6. Perú users group
    Instalando las herramientas
    ACTIVATOR

    View Slide

  7. Perú users group
    Instalando las herramientas: ACTIVATOR
    Paso 1: Tener instalado JRE 1.8
    Paso 2: Descargar Activator (https://www.lightbend.com/activator/download)
    Paso 3: Crear un nuevo proyecto con el comando “activator new”
    Paso 4: Empezar a programar!

    View Slide

  8. Perú users group
    Empieza la transformación
    Vamos funcional!

    View Slide

  9. Perú users group
    Empieza la transformación, vamos funcional!
    Primero, familiaricémonos con la inmutabilidad, en Scala la inmutabilidad en valores se representa
    con val.
    Las colecciones son inmutables también, por ejemplo:

    View Slide

  10. Perú users group
    Empieza la transformación, vamos funcional!
    Las propiedades de las clases también son inmutables

    View Slide

  11. Perú users group
    Empieza la transformación, vamos funcional!
    Ahora familiaricémonos con las funciones, las funciones son ciudadanos de primera clase en Scala,
    lo que significa que pueden ser usadas de cualquier forma, por ejemplo: ser asignadas, ser
    parametros, ser devueltas por otras funciones.

    View Slide

  12. Perú users group
    Empieza la transformación, vamos funcional!
    Podemos decir que una función es pura si es transparentemente referencial.
    En un programa, una expresión E del lenguaje puede ser sustituida por otra de igual valor V,
    resultando en un programa cuya semántica no va a diferir de la del original.
    ejemploEfectoSecundario2 no es transparentemente referencial porque el resultado que devuelve
    no es siempre Cafe ya que la función cobra en la clase CreditCard puede dar una excepción.

    View Slide

  13. Perú users group
    Empieza la transformación, vamos funcional!
    Ahora hagamos un ejemplo:
    Creemos una clase Participante, luego creemos una lista de Participantes de diferentes ciudades y
    luego mostremos a todos los participantes de Lima.

    View Slide

  14. Perú users group
    Gracias

    View Slide