revo, un lenguaje dinámico centrado en el flujo explícito de datos

revo es un lenguaje de programación dinámico diseñado paraprogramar y experimentar con estructuras de datos, evaluación en tiempo de compilación, macros, concurrencia y tipado opcional. Su propuesta combina una sintaxis expresiva con un flujo de datos que avanza de arriba abajo, reduce el anidamient

Las bondades de Gleam: un recorrido por sus características más atractivas

Gleam, un lenguaje funcional que compila para BEAM (la máquina virtual de Erlang), incorpora una serie de pequeñas decisiones de diseño que simplifican el trabajo diario del desarrollador. Este artículo repasa cinco de sus características más llamativas, útiles tanto para quienes ya trabajan en la p

Qué le pediría a un lenguaje relacional moderno

Un desarrollador repasa, tras años de borrador, las carencias que detecta en SQL y dibuja cómo sería un lenguaje de consulta relacional moderno pensado para programadores. El texto, motivado por la aparición de nuevos lenguajes como Acadia, parte de la idea de que el éxito de NoSQL se explica en bue

Soppo: un lenguaje con sintaxis de Go que añade seguridad de tipos

Soppo es un lenguaje de programación que adopta la sintaxis de Go y mantiene interoperabilidad total con sus bibliotecas, pero incorpora características de seguridad de tipos y ergonomía que Go no ofrece de forma nativa. Su objetivo es permitir a los desarrolladores introducir el lenguaje de forma g

GALA: un lenguaje estilo Scala que compila a Go manteniendo el ecosistema Go

GALA es un lenguaje de programación de tipado estático y orientación funcional, creado como proyecto open source en GitHub, que se transpila a Go. Su objetivo es incorporar en Go el sistema de tipos que muchos desarrolladores echan en falta, especialmente quienes proceden de Scala, Kotlin, F# u OCam

Por qué ML y OCaml son buenas opciones para escribir compiladores

El ingeniero Dwight VandenBerghe sostiene que los lenguajes de la familia ML —especialmente OCaml y, en menor medida, SML/NJ— ofrecen una combinación de características que los hacen especialmente adecuados para desarrollar compiladores. El artículo, publicado en 1998 en el grupo comp.compilers, rep

Racket 9.2 añade comprobación de igualdad en patrones y soporte Unicode 17.0

Racket, el lenguaje de programación orientado a lenguajes, ha lanzado la versión 9.2, que introduce una comprobación de igualdad en patrones no lineales dentro de la forma match, de modo que se verifica que las partes repetidas de un valor coincidan efectivamente. Además, Typed Racket corrige la tip

C# 15: Novedosos 'union types' facilitan el desarrollo

Microsoft ha introducido los 'union types' en C# 15, disponibles a partir de .NET 11 Preview 2. Esta nueva característica, muy solicitada por la comunidad, permite declarar un valor como uno de un conjunto fijo de tipos, garantizando el 'pattern matching' exhaustivo y evitando problemas comunes al d

Lisette: Nuevo lenguaje fusiona Rust y Go

Lisette es un nuevo lenguaje de programación diseñado para ser sintácticamente similar a Rust pero con un runtime de Go. Su objetivo principal es ofrecer una alternativa que combine la seguridad y expresividad de Rust con la interoperabilidad y el ecosistema maduro de Go. Esto se logra a través de u

Coccinelle: Automatiza cambios en código C

Coccinelle es una herramienta poderosa para programadores C que permite realizar transformaciones complejas en el código fuente de manera automática y preservando su estilo. Imagina que necesitas refactorizar una gran base de código C para adoptar una nueva práctica o corregir un patrón de error com