En este artículo comparto mi visión crítica sobre el estado actual de la ingeniería del dato, dominada por plataformas pesadas como Spark y Databricks, y presento Sail, un motor open-source construido sobre Apache Arrow y DataFusion, escrito en Rust, que propone un nuevo camino: ligero, eficiente y potente.
Exploramos en detalle qué son las typeclasses, cómo se definen en Scala 2 y cómo se implementan en otros lenguajes como Haskell y Rust. A través de ejemplos prácticos, mostramos cómo modelar comportamientos de forma clara y escalable utilizando este poderoso patrón de diseño en la programación funcional. También analizamos la derivación automática y las mejoras que Scala 3 aporta en este ámbito.
Analizamos los distintos diseños de patrones funcionales para abordar la abstracción de una funcionalidad y su implementación.
Mis primeras impresiones de Rust desde un enfoque de programación funcional (Scala y Haskell). Una mezcla de emoción, frustración y un cambio de paradigma en la forma de pensar.
Modificar propiedades de objetos en Scala sin perder la inmutabilidad. Exploramos el uso del patrón copy para crear nuevas instancias con cambios específicos, manteniendo la seguridad y corrección del original. Es una solución práctica y elegante, perfecta para sistemas concurrentes y reactivos.
Trabajar con fechas en el ámbito de los datos es muy común y plantea desafíos, especialmente al normalizar formatos inconsistentes. Este artículo aborda cómo usar expresiones regulares (Regex) en Scala para procesar y estandarizar fechas de entrada.