Notice: Undefined index: Archivo in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Archivo in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Sobre mi in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Sobre mi in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: 97 cosas que todo programador debería saber in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: 97 cosas que todo programador debería saber in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: La comunidad Ágil abraza una fantasía inviable in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: La comunidad Ágil abraza una fantasía inviable in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Estilo de programación y convención de nombres I in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Estilo de programación y convención de nombres I in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Estilo de programación y convención de nombres II in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: Estilo de programación y convención de nombres II in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: No hay balas de plata: Lo esencial y lo accidental en la ingeniería del software in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: No hay balas de plata: Lo esencial y lo accidental en la ingeniería del software in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: No hay balas de plata: Lo esencial y lo accidental en la ingeniería del software in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 400
Notice: Undefined index: MySql in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: General in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: 97-things in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: JavaScript in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: TypeScript in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Cheat Sheet in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Zend Framework in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Symfony Framework in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Patrones de Diseño in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Programacion Funcional in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Ingeniería de Software in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Patrones de Comportamiento in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: scala in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: https://codigolinea.com/tag/scala/ in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 523
Notice: Undefined index: solid in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Nuevo in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: MySql in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: scrum in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: agile in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: golang in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: erlang in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: https://codigolinea.com/tag/erlang/ in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 523
Notice: Undefined index: elixir in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: amfphp in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: fsharp in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: fechas in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: lambda in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: modulos in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: reactjs in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: Unknown in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: modular in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: haskell in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 506
Notice: Undefined index: https://codigolinea.com/tag/haskell/ in /home/codigoli/public_html/wp-content/plugins/seo-automatic-links/seo-links.php on line 523

Vivimos en un entorno tremendamente cambiante donde los requerimientos de las aplicaciones varían constantemente.
Hace unos pocos años una aplicación grande tenía decenas de servidores, con tiempos de respuesta en segundos y gigabytes de datos. Hoy en día las aplicaciones están desplegados en todo tipo de dispositivos, desde móviles a clusters basados en la nube que corren con miles de procesadores multinúcleo. En el lado del cliente, la rápida proliferación de los teléfonos inteligentes y el auge de la llamada “Internet de las cosas” incrementan el número de usuarios concurrentes y se espera que los sistemas sean capaces de soportarlo y manejarlo adecuadamente.
Los usuarios en la actualidad esperan que los tiempos de respuesta sean de milisegundos o microsegundos y de un 100% de disponibilidad. La necesidad de almacenamiento de datos está creciendo considerablemente expandiéndose hacia los petabytes
En este contexto se espera que nuestras aplicaciones sean “reactivas”, es decir tener componentes activos y listos para recibir eventos.
Las características de una aplicación reactiva son :
- Dirigida por Eventos : Permitir el procesamiento paralelo , asíncrono de mensajes y eventos con facilidad .
- Escalable : Poder escalar dentro y a través de los nodos elásticamente para proporcionar potencia de computación bajo demanda cuando sea necesario .
- Resistente : La capacidad para recuperarse y repararse a sí mismo de forma automática con el fin de asegurar la continuidad aplicación sin fallas.
- Sensible : Respuestas en tiempo real que proporcionen información instantánea sobre la base de las interacciones del usuario y de otros estímulos.
Es evidente que debemos considerar usar nuevas tecnologías y nuevos paradigmas de programación para poder satisfacer estos niveles de sofisticación para poder tener aplicaciones reactivas.
En este escenario los lenguajes de programación funcional han empezado a tener auge, debido a que pueden ayudarnos a satisfacer dichos requerimientos. Entre los más conocidos lenguajes de programación funcionales tenemos a: Scheme, Erlang, Haskell, Scala, Closure, F#, Lisp, entre otros.
Por lo pronto ya empecé a ver un par de ellos, espero traerles mis experiencias en los próximos posts.
Más información