Críticas al diseño del iterador RangeFrom en la biblioteca estándar de Rust

Un desarrollador cuestiona en un extenso artículo técnico el diseño del iterador RangeFrom (n..) de la biblioteca estándar de Rust. Tras detectar el problema a raíz de una publicación de James Munns de diciembre de 2025, el autor intentó primero resolverlo con un clippy lint, pero la cuestión termin

sync.Map en Go: del API pública a la implementación con hash trie

sync.Map es la estructura de la biblioteca estándar de Go diseñada para acceder a un mapa desde varias goroutines sin provocar carreras de datos, un problema habitual cuando un mapa normal es leído y escrito de forma concurrente. Tras explicar por qué un map[K]T corriente no es seguro ante accesos s

C3 0.8.3 introduce los feature flags con el atributo @feat

C3, lenguaje de programación de sistemas derivado de C, ha publicado la versión 0.8.3, cuya novedad principal es el atributo @feat, destinado a sustituir al antiguo @if en las declaraciones de nivel superior. Hasta ahora, @if aceptaba cualquier expresión constante en tiempo de compilación, lo que ob

Por qué hay que salvar la ABI para salvar a C

En un artículo de opinión técnica con tono desenfadado, el autor —que ya había arremetido contra la estabilidad de la ABI del C++ en una pieza anterior titulada "Binary Banshees and Digital Demons"— reconoce que, pese a sus reticencias, la Interfaz Binaria de Aplicación (ABI) debe ser preservada si

Anatomía de slices.Backward en Go: por qué la firma del iterador es así

El paquete slices de la biblioteca estándar de Go incluye la función Backward, que recorre los elementos de un slice en orden inverso entregando pares (índice, valor). Su firma genérica, func Backward[Slice ~[]E, E any](s Slice) iter.Seq2[int, E], puede parecer innecesariamente compleja, pero es el

Go propone nuevos tipos de colección genéricos para Go 1.28

El grupo de trabajo Go Collections ha presentado una propuesta para incorporar nuevos tipos de colección genéricos a la biblioteca estándar de Go 1.28. Formado a finales de 2025 e integrado por Jonathan Amsterdam, Alan Donovan, Robert Griesemer, Daniel Martí, Roger Peppe, Keith Randall e Ian Lance T

Un bug en std.Io.Writer.Allocating duplica la memoria reservada al escribir

El tipo std.Io.Writer.Allocating de la biblioteca estándar de Zig reserva el doble de memoria de la necesaria al recibir datos a través de su función drain. El problema está en la forma en que el método calcula el espacio extra: tiene en cuenta el parámetro splat (el número de veces que se repite el

Amber, un lenguaje de programación moderno que compila a Bash

Amber es un lenguaje de programación de tipado fuerte y sintaxis inspirada en ECMAScript que se compila a scripts de Bash. Su objetivo es ofrecer una capa moderna, segura y ergonómica para escribir lógica de shell sin renunciar a la interoperabilidad directa con Bash, lo que lo hace atractivo para t

Mejoras de std::format en C++26: formateo de punteros, rutas, constexpr y más

El estándar C++26 incorpora una serie de mejoras a la biblioteca de formateo que simplifican tareas habituales y eliminan hacks heredados. Una de las novedades más simples es la adición de una sobrecarga de std::println sin argumentos, que imprime una línea en blanco en la consola y evita tener que

El algoritmo de rotación de gcc coincide con el de iteradores forward

El algoritmo de rotación unidireccional de gcc libstdc++ para iteradores de acceso aleatorio resulta ser, contra toda expectativa, el mismo que el algoritmo clásico empleado con iteradores forward. Así lo explica el blog técnico The Old New Thing en una nueva entrega, donde compara ambos procedimien

Seguimiento de peticiones HTTP con net/http/httptrace de Go

El paquete httptrace de la biblioteca estándar de Go permite inspeccionar los puntos internos de una petición HTTP saliente: resolución DNS, adquisición de conexión, handshake TLS, envío de bytes y recepción del primer byte. A diferencia de otros lenguajes, no usa una interfaz Tracer sino que se int

C++ 'freestanding': Lenguaje sin sistema operativo

El término 'freestanding' en C++ se refiere a una implementación del lenguaje que opera sin la dependencia de un sistema operativo (SO) 'hosted'. Esto es crucial en entornos restringidos como sistemas embebidos, kernels de SO o 'bare-metal' donde la asignación dinámica de memoria (heap), llamadas al

Go: Propuesta de API para generar UUIDs

Este artículo describe una propuesta para incluir un paquete `crypto/uuid` en la biblioteca estándar de Go. Actualmente, la generación y el manejo de UUIDs (Universally Unique Identifiers) en Go dependen en gran medida de la biblioteca de terceros `github.com/google/uuid`. Esta dependencia es muy co

Zig: Minimalismo radical en su biblioteca estándar

El lenguaje de programación Zig ha adoptado una filosofía radicalmente diferente a la de C++ en lo que respecta a su biblioteca estándar: el minimalismo intencional. En lugar de acumular funcionalidades, Zig elimina activamente componentes que no cumplen criterios estrictos de inclusión, trasladándo