Introducci贸n a la programaci贸n Funcional

1

驴Qu茅 es la Programaci贸n Funcional?

Entendiendo las partes de la programaci贸n funcional

2

驴Qu茅 es una funci贸n en Java?

3

Funciones como ciudadanos de primera clase

4

Funciones puras

5

Entendiendo los efectos secundarios

6

Funciones de orden mayor

7

Funciones lambda

8

Inmutabilidad

Functional Programming en Java

9

Repositorio del curso

10

Configuraci贸n del entorno de trabajo

11

Revisando el paquete java.util.function: Function

12

Revisando el paquete java.util.function: Predicate

13

Revisando el paquete java.util.function: Consumer y Supplier

14

Revisando el paquete java.util.function: Operators y BiFunction

15

Entendiendo dos jugadores clave: SAM y FunctionalInterface

16

Operador de Referencia

17

Analizando la inferencia de tipos

18

Comprendiendo la sintaxis de las funciones lambda

19

Usando metodos default en nuestras interfaces

20

D谩ndole nombre a un viejo amigo: Chaining

21

Entendiendo la composici贸n de funciones

Optional y Streams: Datos mas interesantes

22

La clase Optional

23

Entendiendo los Streams

24

驴Qu茅 son los Stream listeners?

25

Operaciones y Collectors

26

Streams de tipo espec铆fico y Paralelismo

27

Operaciones Terminales

28

Operaciones Intermedias

29

Collectors

Todo junto: Proyecto Job-search

30

job-search: Un proyecto para encontrar trabajo

31

Vista r谩pida a un proyecto de Gradle

32

Revisando las opciones para nuestro CLI

33

Librer铆as adicionales para nuestro proyecto

34

Entendiendo la API de jobs

35

Dise帽ando las Funciones Constructoras de nuestro Proyecto

36

Agregando validaciones de datos

37

Dise帽ando las funciones de transformacion de datos

38

Creando flujos extras de transformaci贸n de Datos

Conclusiones

39

Un repaso a lo aprendido

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Funciones lambda

7/39
Recursos

Aportes 22

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Funci贸n = Tiene un nombre.
Lambda = Funci贸n que no tiene un nombre.

Por qu茅 usar lambdas?
Es un comportamiento 煤nico.
Es una regla que solo se requiere en un lugar.
Es una funci贸n muy simple (1 l铆nea).

Uno cuando escucha lambda hasta se asusta pero todo bien

La mejor explicaci贸n que he visto sobre las lambdas

Funciones Lambda

Las funciones lambda ($\lambda$) tienen su origen en el c谩lculo lambda creado por Alonzo Church en la d茅cada de los a帽os 30鈥檚, donde (de forma simplificada) propon铆a que era posible obtener un resultado a partir de funciones an贸nimas.

Por lo tanto, una funci贸n Lambda es una funci贸n an贸nima, es decir, una funci贸n que no posee un nombre. Por ejemplo:

  • Function foo = ...: foo no es an贸nima.
  • int foo(int x) {...} foo no es an贸nima.
  • x -> ...: S铆 es una funci贸n an贸nima

Algunas de las utilidades de las funciones an贸nimas son:

  • Generar comportamiento de uso 煤nico: Por ejemplo, al ordenar elementos de una lista.
  • Definir regla que solo se requiere en un lugar: Por ejemplo filtrando determinado elemento de una lista.
  • Es una funci贸n extremadamente simple: Son muy cortas, normalmente s贸lo ocupa una l铆nea.

Muy bien, entonces las funciones lambdas se nos presentan sin nombre en comparaci贸n al otro tipo de funciones, tienen una estructura m谩s sencilla y su principal uso es para momentos particulares de la aplicaci贸n. Muchas gracias por la explicaci贸n instructor Sinuh茅.

c贸mo es posible que una funci贸n tenga menos de 1 linea? 馃

======================================
Funciones lambda

Parten de un concepto matem谩tico de los a帽os 30 (Alonzo Church).
Obetener resultados a partir de funciones an贸nimas.
Son funciones an贸nimas

驴Por que usarlas?
Es un comportamiento de uso 煤nico
Una regla que solo se requiere en un lugar
Es una funci贸n extremadamente simple.

Una lambda sigue siendo una funci贸n.

Es importante usar lambdas cuando la funci贸n es espec铆fica de un s贸lo uso, ya que tambi茅n ahorras espacio en memoria, y proceso de garbage collect, ya que registrar la funci贸n para un solo uso, ocupa memoria en la variable (el nombre de la funci贸n) y una vez que finaliza el bloque del programa donde est谩 la funci贸n, el garbage collector debe limpiar ese espacio en memoria (o eso me han dicho 馃槂)

鈥淒onde las funciones no tienen nombre/ Where the functions has no name鈥.
Buen nombre para un tema musical 馃榾

Las lambdas son parecidos o tiene la misma l贸gica que los Arraw function de JS???

Llevaba mucho tiempo esperando un curso especializado en programaci贸n funcional, con su teor铆a,
M谩s a煤n en Java,

Muy interesante 鈥 como bien se menciona en Javascript es muy comun usar lambda, creo que vale la pena mencionar que no se debe confundir con el termino ocupado en lenguajes formales y automatas.

Me pasaba al rev茅s, yo sab铆a que eran funciones an贸nimas, pero no sab铆a que vienen de un concepto matem谩tico.

Funciones Lamba

Son funciones an贸nimas
Es un comportamiento de uso 煤nico, una regla que solo requiere de un solo lugar, es una funci贸n simple.

Genial, muchas gracias profe 馃槂

Gracias, genial conocer el concepto de lambda.

no conoc铆a este termino鈥 super鈥 muchas gracias! 馃槂

Lambda son funciones sin nombre

Interesante!

Las funciones lambda son aquellas que no tienen un nombre definido son usadas para realizar operaciones simples y puntuales en nuestra aplicaci贸n y que no son necesarias en otra parte.

Me suena a funciones anonimas

Ahora se viene lo chido !