SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
@mordonez_me
Marco Ordoñez
Scala Perú
4to meetup Scala Perú
@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.
Perú users group
Paradigmas de programación
¿Por qué la programación funcional?
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
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.
Perú users group
Instalando las herramientas
ACTIVATOR
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!
Perú users group
Empieza la transformación
Vamos funcional!
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:
Perú users group
Empieza la transformación, vamos funcional!
Las propiedades de las clases también son inmutables
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.
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.
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.
Perú users group
Gracias

Más contenido relacionado

Similar a Paradigmas de programación y un vistazo a lo funcional (Cuarta meetup Scala Perú Sep 2016)

Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
johitafresh
 

Similar a Paradigmas de programación y un vistazo a lo funcional (Cuarta meetup Scala Perú Sep 2016) (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Programación funcional, una nueva forma de resolver problemas.
Programación funcional, una nueva forma de resolver problemas.Programación funcional, una nueva forma de resolver problemas.
Programación funcional, una nueva forma de resolver problemas.
 
Poa Borrador
Poa BorradorPoa Borrador
Poa Borrador
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
56874982 curso-de-delphi-7
56874982 curso-de-delphi-756874982 curso-de-delphi-7
56874982 curso-de-delphi-7
 
¿Qué es java?
¿Qué es java?¿Qué es java?
¿Qué es java?
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
 
SEBASTIAN QUINTO TORRES.pptx
SEBASTIAN QUINTO TORRES.pptxSEBASTIAN QUINTO TORRES.pptx
SEBASTIAN QUINTO TORRES.pptx
 
Introducción a la programación orientada a objetos en java
Introducción a la programación orientada a objetos en javaIntroducción a la programación orientada a objetos en java
Introducción a la programación orientada a objetos en java
 
7 Razones para usar las funciones php
7 Razones para usar las funciones php7 Razones para usar las funciones php
7 Razones para usar las funciones php
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Elemento 4
Elemento 4Elemento 4
Elemento 4
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 

Paradigmas de programación y un vistazo a lo funcional (Cuarta meetup Scala Perú Sep 2016)

  • 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.
  • 3. Perú users group Paradigmas de programación ¿Por qué la programación funcional?
  • 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
  • 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.
  • 6. Perú users group Instalando las herramientas ACTIVATOR
  • 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!
  • 8. Perú users group Empieza la transformación Vamos funcional!
  • 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:
  • 10. Perú users group Empieza la transformación, vamos funcional! Las propiedades de las clases también son inmutables
  • 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.
  • 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.
  • 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.