Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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 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.
  2. 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
  3. 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.
  4. 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!
  5. 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:
  6. 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.
  7. 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.
  8. 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.