Comparando Tres Nociones de Complejidad de Software

2025-06-15

Este artículo compara tres definiciones distintas de complejidad de software de Rich Hickey, John Ousterhout y Zach Tellman. Hickey define la simplicidad como unidad, enfatizando la objetividad; Ousterhout define la complejidad como cualquier cosa que hace que un sistema sea difícil de entender y modificar, destacando las dependencias y la oscuridad; Tellman define la complejidad como la suma de todas las explicaciones, enfatizando la sorpresa dependiente de la audiencia. El artículo pesa los puntos fuertes y débiles de cada uno, explorando su aplicación a problemas del mundo real. En última instancia, argumenta que el enfoque basado en explicaciones de Tellman es superior para capturar la experiencia subjetiva del desarrollador y guiar las decisiones prácticas.

Leer más

Modelos de error para lenguajes de programación de sistemas: Un tratado épico

2025-03-08

Esta publicación de blog de más de 15.000 palabras profundiza en los modelos de error para lenguajes de programación de sistemas. El autor aborda la representación, propagación y manejo de errores desde múltiples perspectivas: producto, sistema de tipos y diseño de lenguaje. Se propone un lenguaje hipotético, 'Everr', y su modelo de error, buscando un equilibrio entre la degradación gradual, la optimización del rendimiento y la interoperabilidad entre bibliotecas. La publicación compara modelos de error en varios lenguajes de programación y explora la comprensión y el manejo de errores por parte de los programadores.

Leer más