Generators: ¿Un hummer en el establo?

Are you going?

98 people going

Share:
Location image of event venue

Details

En enero haremos una edición extendida del director de la charla de JSDayES 2018, para ver más en detalle todo el poder que nos dan los generadores en ES2015 y adelante.

Generators: ¿Un hummer en el establo?

Los generadores/iteradores son una de las grandes características de ES2015. No es un cambio de librería (como Promise) sino de sintaxis. No es un azucar sintáctica (como class) con una traducción relativamente directa, sino que implica un soporte nada trivial en el compilador, o unas traduciones sofisticadas en los transpilers.

Sin embargo, hay muy poca información en Internet. Los ejemplos de uso siempre son los mismos (fundamentalmente simular async/await con yield). Muy pocos proyectos los adoptan y algunos mayoritarios los han vetado. En definitiva, provocan poco interés. En contraste con lo anterior, para ES2018 llegan los generadores/iteradores asincronos. ¿Qué pasa entonces con los generadores? ¿Son un elemento de nicho? ¿Se pusieron en JavaScript para no ser menos que otros (p.e. Python)? ¿Son aprovechables para nuestro día a día?

En esta charla intentaremos desvelar toda la potencia que dan los generadores. Contaremos qué es un iterador, qué es un generador, la potencia del for/of cómo llegar a las clases ocultas que los implementan (obligatorias por el estándar), cómo extenderlas para hacer programación de orden superior sobre generadores, qué son las corutinas, cómo aprovecharlas para ciertos problemas que tienen estado, cómo son los nuevos generadores asíncronos y el for/await/of, qué relación hay entre funciones asíncronas, generadores y generadores asíncronos, etc.

Pedro Palao

Licenciado en Matemáticas, especialidad de Computación. Unos años como profesor en el Departamento de Informática de la Universidad Complutense. Luego programador en el Departamento de Seguridad Informática en Bankinter. Actualmente SVP de R&D en Devo (antes Logtrust), una empresa dedicada a big data en tiempo real.

Federico Badiola

Programo desde que me alcanza la memoria, empecé a trastear desde crío y eso me ha convertido en un adicto a esto. Me gusta trastear con tecnología y, aprender y curiosear los entresijos de las cosas. Actualmente trabajo en Devo, una plataforma de BigData en tiempo real, como Senior Software Engineer haciendo cosas chulas con Javascript.