Desmitificando el concepto de tipo en programación

Este ensayo, escrito como complemento de un texto anterior titulado 'Type Theory Weary', cuestiona la necesidad de tratar los tipos como un constructo especial dentro de la informática y la lógica. El autor sostiene que los sistemas de tipos surgieron históricamente para resolver problemas que en su

Desarrollo impulsado por la culpa: cómo evitar sentirte mal por tus errores

El ingeniero Markus Eliasson narra cómo una falsa alarma de producción en Midsummer le provocó una intensa sensación de culpa y reflexiona a partir de ahí sobre por qué los desarrolladores deberían evitar entregar software que les genere remordimiento. Describe esa culpa como ondas que se propagan c

Por qué Go encaja en el desarrollo de software asistido por IA

El desarrollo de software atraviesa un cambio de paradigma: las herramientas de IA generan grandes bloques de código, pero los humanos siguen siendo responsables de revisarlos, depurarlos, definir la arquitectura y garantizar la fiabilidad del sistema. En este nuevo escenario, la productividad de un

Python: tipos opacos para apis estables

En el desarrollo de software, especialmente al crear bibliotecas, es común enfrentarse a la necesidad de gestionar objetos de configuración complejos y de estado. Estos objetos suelen evolucionar rápidamente, incorporando nuevas opciones y atributos, lo que representa un desafío para mantener una AP

Tipos y errores: un análisis de Map.take! en Elixir

Este artículo explora las limitaciones de los sistemas de tipos en lenguajes de programación dinámicos, utilizando como ejemplo la propuesta de una función `Map.take!/2` en Elixir. `Map.take/2` es una función existente en Elixir que extrae un subconjunto de claves de un mapa, ignorando las claves in

Go: el nuevo favorito para crear agentes de IA

El artículo argumenta que Go es el lenguaje de programación ideal para trabajar con agentes de IA, basándose en la experiencia del autor en el desarrollo de herramientas de ETL como Bruin. Aunque Python ha sido tradicionalmente popular en el ecosistema de datos, Go ofrece ventajas significativas en

D: Nueva Biblioteca para Compilador Facilita Integración

La comunidad del lenguaje de programación D ha anunciado una iniciativa para desarrollar una biblioteca del compilador D como una biblioteca reutilizable. Esta iniciativa, detallada en una publicación del blog del 22 de febrero de 2024, busca facilitar la integración del compilador D en otros proyec

Diseño con Tipos: Analiza, No Valides

El artículo explora el concepto de diseño impulsado por tipos (type-driven design), una metodología que el autor ha tenido dificultades para explicar de manera concisa. La clave para comprender este enfoque reside en la idea de "parse, don't validate". El autor ilustra esto a través de ejemplos en H

Swift y Kotlin: ¿Demasiada Estricción en la Programación?

El artículo del blog 'The Clean Code' explora una tendencia preocupante en el desarrollo de lenguajes de programación modernos, específicamente Swift y Kotlin. Ambos lenguajes, aunque con orígenes distintos (Swift derivado de Objective-C y Kotlin de Java), comparten una marcada inclinación hacia la