Futhark evita que su sistema de tipos gestione la alianza de variables

El sistema de tipos del lenguaje de programación Futhark enfrenta un desafío técnico significativo al intentar gestionar la alianza de variables (aliasing) en el contexto de actualizaciones in-place. Esta característica, diseñada para permitir operaciones de bajo coste sobre arrays, introduce una co

Análisis técnico de las limitaciones de parámetros en Rust

El artículo analiza las diferencias fundamentales entre la gestión de parámetros y argumentos en el lenguaje de programación Rust y otros sistemas como Ruby o Java. El autor argumenta que, aunque Rust carece de funciones avanzadas como los parámetros nombrados, los argumentos opcionales con valores

Por qué Rust necesita argumentos nombrados y opcionales

El lenguaje de programación Rust carece de soporte nativo para argumentos nombrados y opcionales, una limitación que el autor identifica como su aspecto menos favorable. A diferencia de otros lenguajes como Dart, C# o TypeScript, que permiten especificar parámetros con nombre y valor por defecto de

CTTI es exponencial, RTTI es lineal: el coste real de la información de tipos

En programación se presenta la Información de Tipo en Tiempo de Compilación (CTTI) como una alternativa de 'coste cero' a la Información de Tipo en Tiempo de Ejecución (RTTI), pero esta creencia es engañosa. RTTI almacena los tipos en una tabla cuyo tamaño crece de forma lineal con el número de tipo

Exploración del espacio de diseño de async/await en lenguajes modernos

## Un estudio revela que async/await, la popular característica de programación asíncrona presente en lenguajes como JavaScript, Python, Rust, C# y Swift, esconde profundas diferencias semánticas que pueden hacer que programas aparentemente idénticos se comporten de formas radicalmente distintas. U

Opus: un dialecto Lisp minimalista inspirado en las f-expressions de Kernel

Opus es un dialecto Lisp de ámbito estático y núcleo mínimo, implementado en Haskell y compilado a WebAssembly. Su diseño se apoya en la semántica de las f-expressions del lenguaje Kernel (desarrollado por John Shutt) y emplea estilo de paso de continuaciones (CPS) para el control de flujo. El obje

Sintaxis con propósito: por qué la forma de un lenguaje refleja su modelo

En este vídeo ensayo, el desarrollador Marcos Magueta sostiene que la sintaxis de un lenguaje de programación no debería ser un conjunto arbitrario de atajos heredados de otros lenguajes, sino un reflejo fiel de las abstracciones que el lenguaje ofrece. La idea central es que cada decisión sintáctic

Diseño de lenguajes: por qué elegir enteros con signo por defecto

El diseñador del lenguaje Odin, Ginger Bill, defiende que los lenguajes de programación adopten los enteros con signo como tipo predeterminado en lugar de los enteros sin signo. Aunque admite que los tipos sin signo ofrecen mejores garantías teóricas, sostiene que en la práctica provocan errores fre

Crea tu intérprete Forth: un reto de programación

Este artículo presenta un desafío de programación: construir tu propio intérprete de Forth, un lenguaje de programación inusual pero poderoso. Forth, creado por Charles H. Moore en la década de 1970, es un lenguaje orientado a pila (stack-oriented) que ha encontrado aplicaciones en áreas como videoj