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.
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.
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
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.
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!
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.
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.
un ejemplo: Creemos una clase Participante, luego creemos una lista de Participantes de diferentes ciudades y luego mostremos a todos los participantes de Lima.