Cómo evitar std::move en C++ y aun así mover objetos

Mover objetos en C++ rara vez exige escribir std::move de forma explícita: el propio lenguaje y el compilador ya se encargan en la mayoría de los casos, y recurrir a movimientos manuales solo cuando hace falta produce código más limpio y, en ocasiones, más rápido. La técnica preferible es la elisión

Semáforos en C++20: control de concurrencia y señalización entre hilos

El estándar C++20 incorporó al lenguaje dos tipos de semáforos pensados para resolver problemas clásicos de concurrencia que un mutex no cubre con soltura: std::counting_semaphore y std::binary_semaphore. Este artículo explica, con ejemplos prácticos en C++23, cómo utilizarlos para limitar el número

MicroCodex: un agente de codificación ultraligero en C++23 para el terminal

MicroCodex es un agente de codificación ultraligero que se ejecuta de forma local en el terminal. Escrito en C++23, ofrece prompts de un solo uso, una interfaz interactiva en línea de comandos, herramientas de codificación locales, conversaciones persistentes y compactación automática del contexto.

Dependable C: un subconjunto de C pensado para durar décadas

Dependable C es un proyecto que documenta un subconjunto del lenguaje C orientado a quienes necesitan escribir bibliotecas portables, estables y mantenibles a largo plazo. La guía parte de una premisa clara: cuando se necesita una biblioteca de bajo nivel para complementar lenguajes como Python, Jav

C vs C++: ¿Qué constructos no funcionan?

Este artículo de Josh Lospinoso, actualizado en 2026, aborda una cuestión crucial para desarrolladores que trabajan con C y C++: la incompatibilidad entre ambos lenguajes. Contrario a la creencia popular, C++ no es un superconjunto de C, lo que significa que ciertos constructos válidos en C pueden n

WireGuard 1.0: Nueva versión optimiza Windows

El desarrollador Jason A. Donenfeld ha anunciado la versión 1.0 de WireGuardNT y WireGuard para Windows, marcando un hito importante para el proyecto. Esta nueva versión, ya disponible para descarga, incorpora una serie de mejoras significativas y correcciones de errores acumuladas a lo largo del ti

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

Unity: La 'hack' de corrutinas revelada

Un artículo explora el uso de corrutinas en C++ y cómo Unity, en C#, ha implementado una solución ingeniosa debido a limitaciones históricas en el soporte de `await` en C#. Inicialmente, las corrutinas de C++ han sido poco utilizadas debido a su complejidad y la falta de ejemplos concretos. El artíc

Optimiza tu código C: rendimiento y portabilidad

Este artículo explora técnicas para optimizar el rendimiento de software C, especialmente en arquitecturas x86-64, donde la capacidad de la CPU juega un papel crucial. El problema radica en que el código optimizado para una CPU específica puede no funcionar bien en otras, limitando la portabilidad.

Fedora: Error en actualización afecta a DOOM

Este artículo relata un problema inesperado encontrado al actualizar paquetes de software para Fedora Linux, específicamente relacionado con el juego clásico DOOM y su derivado Chocolate-DOOM. El incidente, denominado humorísticamente "The little bool of doom", surge durante un 'Mass Rebuild', un pr