Ocaml mejora interoperabilidad con C++

Este cambio introduce un nuevo backend en C++ para el compilador `ocamlc`, mejorando significativamente la integración con código C existente y la interoperabilidad a través de la Foreign Function Interface (FFI). Tradicionalmente, `ocamlc` utilizaba un C intermedio para la FFI, lo que resultaba en

std::wstring_view: ¿Mejor que const& en C++?

En el mundo del C++, es común escuchar la recomendación de reemplazar el paso de `std::wstring` por referencia constante (`const std::wstring&`) con `std::wstring_view` para modernizar el código. Sin embargo, esta sugerencia puede ser incorrecta y generar errores sutiles, especialmente cuando se int

C++26 finalizado: la actualización más grande desde C++11

La ISO C++ Committee ha finalizado el trabajo técnico de C++26 tras una reunión celebrada en Londres (Croydon, Reino Unido) el pasado sábado. Este hito marca la culminación de un proceso que involucró a aproximadamente 210 asistentes de 24 países, tanto presenciales (130) como remotos (80). C++26 se

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

Fin de una era: TechEmpower cesa benchmarks de frameworks

TechEmpower ha anunciado el cese de actividad del proyecto Framework Benchmarks, una iniciativa que durante más de una década ha servido como referencia para la industria del desarrollo web. El proyecto, lanzado en 2013, ha cubierto cientos de frameworks en diversos lenguajes de programación como Go

Revive VisiCalc: La Hoja de Cálculo Que Cambió la Informática

Un desarrollador ha recreado VisiCalc, la primera hoja de cálculo, como un proyecto personal. VisiCalc, lanzada en 1979 por Dan Bricklin y Bob Frankston, revolucionó la computación personal al ofrecer una herramienta accesible para la manipulación de datos, impulsando las ventas del Apple ][ y convi

Código de Minecraft PS3 revela secretos de programación

El código fuente de Minecraft para PlayStation 3 ha sido filtrado recientemente, revelando técnicas de programación ingeniosas utilizadas por 4J Studios, el estudio escocés encargado de portar el juego de Java a la consola. Debido a las limitaciones de hardware de la PS3, que no podía ejecutar Java,

Traccar: Geocodificación inversa rápida y gratuita

Traccar, una plataforma de seguimiento GPS de código abierto, ha lanzado un nuevo servicio de geocodificación inversa de código abierto y auto-alojado. Este servicio, disponible también como opción alojada, convierte coordenadas de latitud y longitud en direcciones completas, incluyendo número de ca

Ice: Nuevo Framework PHP Acelera el Desarrollo

Un nuevo framework PHP llamado Ice ha sido lanzado, prometiendo mejoras significativas en velocidad y eficiencia. Desarrollado como una extensión en C, Ice busca abordar una limitación clave de PHP: la necesidad de leer y traducir archivos en cada solicitud, lo que impacta el rendimiento y la escala

C++: Optimización de 'asin' Acelera Cálculos

Un desarrollador de C++ ha optimizado la función 'asin' (arcoseno) para mejorar el rendimiento, logrando mejoras significativas en algunas plataformas. El ajuste se basa en una técnica llamada 'Estrin's Scheme', que permite al compilador ejecutar operaciones en paralelo, aprovechando la arquitectura

C++26 elimina sintaxis de parámetros elípticos

C++26 introducirá un cambio para eliminar la sintaxis de parámetros elípticos sin una coma precedente, según un anuncio reciente en sandordargo.com. Esta medida, denominada jocosamente la 'coma Oxford variádica', busca mejorar la compatibilidad con el lenguaje C, reducir la confusión entre usuarios

Compiladores: ¿Más simples de lo que creemos?

El artículo de Golden explora una perspectiva inusual sobre la complejidad de los compiladores de lenguajes de programación. Tradicionalmente, se asume que los compiladores modernos son enormes, con millones de líneas de código que abarcan desde la interfaz de usuario (frontend) hasta la gestión de

Primos de 32 bits: un algoritmo optimizado

Este artículo explora la generación de todos los números primos de 32 bits (uint32_t) en Linux de la manera más rápida posible. El objetivo es crear un programa en C que escriba estos primos en un archivo binario, con cada número primo representado en 4 bytes en formato little-endian. El archivo res

C++: Cómo funciona el borrado de tipo en std::any

Este artículo explora la técnica de "type erasure" (borrado de tipo), un mecanismo fundamental detrás de la implementación de `std::any` en C++. La idea principal es permitir trabajar con objetos de diferentes tipos a través de una interfaz común, ocultando los tipos concretos subyacentes. El artícu

Python vs. C: Estudio revela diferencias de velocidad

Un desarrollador ha realizado una serie de pruebas de rendimiento para analizar el rendimiento de Python y las posibles optimizaciones, revelando significativas diferencias de velocidad en comparación con C. El estudio, publicado en cemrehancavdar.com, reproduce problemas estándar de la comunidad de

Luka, 13, crea su propio sistema operativo en dos semanas

Un joven de 13 años, identificado como Luka, ha desarrollado un sistema operativo llamado AurionOS en tan solo dos semanas como proyecto de aprendizaje. El sistema, construido desde cero en C y lenguaje ensamblador x86, está diseñado para usuarios que desean comprender a fondo el funcionamiento inte

Emacs: Técnicas Internas para Manejar Tipos de Datos

Este artículo del blog de The Cloudlet explora técnicas de programación de sistemas utilizadas en GNU Emacs para representar valores Lisp de manera eficiente. El núcleo del problema radica en cómo manejar variables que deben contener valores de diferentes tipos en tiempo de ejecución, preservando la

Tic-Tac-Toe en una sola línea de código

Este código, creado por Carlini, es una implementación sorprendentemente compacta del juego Tic-Tac-Toe (Tres en Raya) escrita completamente en un único `printf` en C. El objetivo es demostrar la capacidad de `printf` para realizar cálculos complejos y control de flujo, más allá de su función princi

IA traduce software: avance con limitaciones

A principios de 2026, se ha observado un auge en las traducciones autónomas asistidas por IA, impulsado por publicaciones de Cursor y Anthropic que demuestran la traducción de software complejo como navegadores web, compiladores C y emuladores de Windows. Si bien estas demostraciones han generado en

Ray tracing: serie de Taylor acelera cálculos trigonométricos

Un desarrollador ha estado optimizando un ray tracer (PSRayTracing) y, tras una búsqueda infructuosa de mejoras con Aproximantes de Padé para funciones trigonométricas, descubrió una aproximación más rápida basada en una serie de Taylor. Inicialmente, esta aproximación presentaba imprecisiones para

C++ sin SO: Guía para Desarrollo Embebido

Este artículo, "Guía Práctica de C++ Bare Metal" de Alex Robenko, aborda una pregunta recurrente en el mundo del desarrollo embebido: ¿Es C++ adecuado para entornos 'bare metal' (sin sistema operativo)? La respuesta, según Robenko, es sí, pero con importantes matices. El documento no es un tutorial

Desarrollar una app: retos y aprendizajes

Este artículo explora la experiencia de un desarrollador experimentado al intentar crear una aplicación sencilla (un generador de números aleatorios para simular tiradas de dados) en diversas plataformas modernas. El objetivo no es la complejidad de la aplicación en sí, sino analizar la configuració

Skir: Nuevo lenguaje agiliza desarrollo de APIs

Skir, una nueva herramienta de código abierto, ha sido lanzada para simplificar el desarrollo de APIs. Se trata de un lenguaje declarativo que permite a los desarrolladores definir tipos de datos, constantes y APIs en un único archivo .skir. A partir de este archivo, Skir genera código idiomático y

C++26 corrige acceso a uniones, elimina riesgo de error

Una reciente aclaración en el estándar C++26, relacionada con el acceso a uniones, evita un posible comportamiento indefinido (UB). El problema surgió en un ejemplo del nuevo `std::is_within_lifetime`, que inicialmente parecía generar UB al acceder a un miembro inactivo de una unión (`c`) cuando el

Lobster: Nuevo lenguaje de programación combina potencia y sencillez

Un nuevo lenguaje de programación llamado Lobster ha sido anunciado, buscando combinar lo mejor de la tipificación estática y la gestión de memoria en tiempo de compilación con una sintaxis ligera y amigable. Desarrollado por el equipo detrás de aardappel, Lobster es de código abierto (licencia Apac

Singleton en C++: Optimización para Mejor Rendimiento

Este artículo de Andreas Fertig explora cómo optimizar el rendimiento de la implementación de un Singleton en C++. Un Singleton es un patrón de diseño que asegura que solo exista una instancia de una clase, controlando su acceso. El artículo se basa en un ejemplo práctico: un Display Manager (como G

Emacs: Desentrañando el código Lisp en C

Este artículo de The Cloudlet explora la estructura interna de GNU Emacs, específicamente cómo representa los valores de Lisp (Elisp) en C. El objetivo es comprender el diseño del sistema desde una perspectiva de bajo nivel, desglosando el tipo de dato `Lisp_Object`. La pieza se basa en el conocimie

Programación: ¿Siempre es más lento lo de bajo nivel?

Este artículo explora el concepto de "costos ocultos" en la programación, desafiando la idea de que los lenguajes de alto nivel son inherentemente menos eficientes que los lenguajes de bajo nivel como C o C++. El autor observa que los programadores de sistemas a menudo evitan lenguajes con recolecci

C++ se inspira en Lisp: nueva herramienta de programación

El proyecto `lmp` (Lisp-style Meta Programming) de Mistivia en GitHub introduce una forma innovadora de realizar programación meta (template metaprogramming) en C++ que se inspira en el paradigma funcional de Lisp. La programación meta en C++ permite escribir código que genera o manipula otro código

Dapper y SQL Server: consultas lentas por conversión

Una reciente investigación sobre un problema de rendimiento en una aplicación .NET reveló una causa inesperada: consultas Dapper que dañaban silenciosamente el rendimiento de los índices de SQL Server. El problema surge cuando una columna en la base de datos es de tipo `varchar` pero Dapper, al usar

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.

CoroTracer: Depura corutinas sin afectar rendimiento

Un desarrollador ha creado 'coroTracer', una nueva herramienta de depuración de código abierto diseñada para rastrear y solucionar problemas complejos en programadores de corutinas M:N. El problema que motivó su creación fue un error crítico en un programador de corutinas donde el rendimiento se des

Desarrolladores crean juegos sin motores tradicionales

Un desarrollador de videojuegos, Noel Berry, ha compartido su experiencia en la creación de juegos en 2025 sin utilizar motores de juego tradicionales como Unity o Unreal Engine. Berry argumenta que, a menudo, los motores de juego ofrecen funcionalidades innecesarias y pueden imponer restricciones o

Ape Coding: el código humano vuelve a la programación

Un movimiento conocido como 'Ape Coding', que implica la escritura manual de código por parte de humanos, ha resurgido como una práctica de nicho en el desarrollo de software. Originalmente surgió como una crítica a la creciente dependencia de la inteligencia artificial (IA) en la programación, espe

Timber: inferencia de IA 336x más rápida

Un nuevo proyecto de código abierto llamado Timber está acelerando significativamente la inferencia de modelos de aprendizaje automático clásicos, según anunció su creador, Kossisoroyce, en GitHub. Timber compila modelos basados en árboles (XGBoost, LightGBM, scikit-learn, CatBoost y ONNX) en código

C: la API de archivos más eficiente, según expertos

El artículo de maurycyz.com argumenta que C posee la mejor API para la manipulación de archivos, destacando una flexibilidad y eficiencia que carecen otros lenguajes de programación. La clave de esta superioridad reside en la capacidad de C para tratar los archivos como si fueran datos en memoria a

C++: ¿por qué la memoria inicial es de 72 KB?

El artículo investiga por qué la primera asignación de memoria en C++ (usando `malloc`) suele ser de 72 KB. El autor, un desarrollador que experimenta con sus propios allocators de memoria, descubrió este patrón recurrente al registrar el tamaño de las asignaciones. Para rastrear el origen de esta a

Acelera apps: optimiza la memoria y gana velocidad

Un artículo técnico explora métodos avanzados para optimizar la gestión de memoria en aplicaciones, buscando mejoras significativas en la velocidad. El autor, con experiencia en la resolución de problemas de rendimiento en proyectos de software, destaca que la optimización de la memoria, a menudo pa

IA crea emulador: desafío a experimento de Anthropic

Un desarrollador, Antirez, replicó un experimento de Anthropic donde se instruyó a un modelo de IA (Opus 4.6) para escribir un compilador C en Rust. Antirez cuestionó la metodología de Anthropic, especialmente la falta de acceso a documentación y recursos sobre optimización de compiladores. Para dem

C++ acelera reconocimiento de voz con modelo Parakeet

Un equipo de desarrolladores ha creado una implementación en C++ de los modelos de reconocimiento de voz Parakeet de Nvidia, ofreciendo una mejora significativa en la velocidad para su ejecución en dispositivos. El proyecto, alojado en GitHub, utiliza la biblioteca de tensores ligera axiom, que incl

C++: Optimiza el polimorfismo con desvirtualización

Este artículo explora el tema de la 'desvirtualización' y el 'polimorfismo estático' en C++, abordando un problema común de rendimiento en diseños polimórficos. La programación polimórfica, a través de funciones virtuales, permite que el código se adapte a diferentes tipos en tiempo de ejecución. Si

Om: Nuevo lenguaje de programación de código abierto

Un nuevo lenguaje de programación llamado 'Om' ha sido lanzado como código abierto. Desarrollado por Sparist, Om es una biblioteca C++ header-only que se integra en proyectos C++ y Objective-C++. Se caracteriza por ser un lenguaje concatenativo que utiliza notación de prefijo, a diferencia de otros

Femtolisp: Lisp rápido y compacto sorprende al mundo

Un desarrollador ha presentado "Femtolisp", una nueva implementación de un dialecto Scheme que destaca por su tamaño compacto y velocidad. El proyecto, iniciado como un intento de crear el intérprete Lisp más rápido posible en menos de 1000 líneas de código C, ha evolucionado para incluir caracterís

Ladybird: Rust y IA impulsan la nueva versión del navegador

El navegador Ladybird ha anunciado que está reescribiendo partes de su código en Rust, un lenguaje de programación enfocado en la seguridad de la memoria, para mejorar su estabilidad y rendimiento. La decisión, tomada tras una evaluación inicial negativa en 2024, se basa en la creciente madurez del

ia ligera para ESP32: zclaw, la solución personalizable

## zclaw: La IA ligera que transforma el ESP32 en un asistente personalizable En un mundo donde la inteligencia artificial se integra cada vez más en nuestros dispositivos, un proyecto de código abierto llamado zclaw está abriendo nuevas posibilidades para el ecosistema de Internet de las Cosas (Io

C++: Biblioteca 'canvas_ity' facilita gráficos 2D

Un nuevo desarrollador ha creado una pequeña biblioteca de C++ llamada 'canvas_ity' que ofrece funcionalidades de renderizado de gráficos vectoriales 2D, inspirada en la especificación del lienzo HTML5. Esta biblioteca, disponible como un único archivo de encabezado, prioriza la alta calidad de ren

Conan facilita la gestión de configuraciones con nuevos paquetes

El gestor de paquetes Conan para C y C++ ha introducido una nueva funcionalidad: paquetes de configuración. Esta innovación permite a los usuarios empaquetar y gestionar de forma más rigurosa sus configuraciones personalizadas, incluyendo remotos, perfiles, hooks y ajustes, de manera similar a como

Clang y GCC adoptan 'defer' para simplificar limpieza de código

La funcionalidad 'defer', una herramienta para gestionar la limpieza de recursos y evitar fugas de memoria en código C, está ahora disponible en el compilador Clang a partir de la versión 22, y está en proceso de integración en GCC. La especificación técnica (TS 25755) ha sido completada y está ava

Rust: Un Adiós y Reflexiones de un Desarrollador

Este artículo, escrito por Dmitry Kudryavtsev, narra su viaje desde los inicios de la programación con Pascal y C, pasando por la frustración de no poder aplicar sus conocimientos de bajo nivel en el desarrollo web con C/C++, hasta su incursión y posterior abandono de Rust. La historia es una reflex

C: Nueva herramienta evita errores de memoria

`fbounds-safety` es una extensión para el lenguaje C que busca abordar un problema crítico: los accesos a memoria fuera de los límites (out-of-bounds, OOB). Estos accesos son una fuente común de vulnerabilidades de seguridad en C, y esta extensión tiene como objetivo eliminarlos convirtiendo estos a

PascalABC.NET: Programación Simplificada para Estudiantes

Un nuevo lenguaje de programación llamado PascalABC.NET, basado en Pascal, ha sido desarrollado para simplificar la enseñanza de la programación moderna. Lanzado originalmente en 2007, este lenguaje combina la simplicidad de Pascal clásico con extensiones modernas y la potencia de la plataforma Micr

vdb: Biblioteca C simplifica bases de datos vectoriales

Un desarrollador ha presentado 'vdb', una nueva biblioteca en C de código abierto y de un solo archivo (header-only) diseñada para simplificar el desarrollo de bases de datos vectoriales. La biblioteca, disponible en GitHub, permite almacenar y buscar incrustaciones vectoriales de alta dimensión, of

Age of Empires: 25 años optimizando rutas en C++

La charla "Age of Empires: 25+ years of pathfinding problems with C++" de Raymi Klingers, presentada en Meeting C++ 2025, explora los desafíos de mantener y modernizar el sistema de búsqueda de rutas de la icónica serie Age of Empires, específicamente Age of Empires 2, a lo largo de más de 25 años.

Antítesis Fusiona C++ y Rust para Mejorar Pruebas de Software

Antítesis, una empresa especializada en pruebas de software, ha desarrollado una técnica innovadora para integrar código C++ de un solo hilo con código Rust de múltiples hilos y asíncrono. Esta integración es crucial para su fuzzer, una herramienta que busca vulnerabilidades en software mediante la

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

Compiladores GCC y Clang: Código Ineficiente con Arrays

Investigadores han descubierto comportamientos inesperados e ineficientes en el código generado por los compiladores GCC y Clang al trabajar con arrays de diferentes tamaños. El problema surge al verificar si un array contiene solo ceros, una tarea aparentemente sencilla. Al variar el tamaño del arr

Mejor C: 6 Claves para Código Eficiente

El artículo explora seis reflexiones sobre la generación de código C, desde la perspectiva de un desarrollador de compiladores. Se destacan técnicas para mejorar la calidad y eficiencia del código generado, incluyendo el uso de funciones `static inline` para la abstracción de datos y evitar penaliza

Berkeley DB: El ADN de una Base de Datos Open Source

Este artículo analiza la arquitectura de Berkeley DB, una biblioteca de gestión de datos de código abierto, explorando su evolución a lo largo de dos décadas. La creación de Berkeley DB surgió de la necesidad de reemplazar paquetes hash propietarios y se basa en la filosofía de "hacer una cosa bien

Compilador C en 512 Bytes: ¡Un Nuevo Récord!

Un equipo de ingenieros ha creado un compilador de C llamado SectorC que asombrosamente cabe en 512 bytes, el tamaño de un sector de arranque de una máquina x86. Este logro, anunciado recientemente, desafía los límites convencionales de la compilación de código y es considerado el compilador de C má

Compilador de OpenAI falla con 'Hola Mundo'

Un nuevo compilador de código C, denominado 'Claudes-C-Compiler' (CCC), desarrollado por OpenAI, ha fallado al intentar compilar un programa básico de 'Hola Mundo', según reportes recientes. El problema, detectado en diferentes entornos (Fedora 43, Ubuntu 26.04 y Fedora 42), impide que el compilador

Zlob: Globbing más rápido para C, Zig y Rust

Un nuevo proyecto llamado 'zlob' ha lanzado una biblioteca de globbing (búsqueda de patrones en archivos) significativamente más rápida para C, Zig y Rust. La biblioteca, disponible como librería C, librería Zig y crate Rust, busca solucionar la lentitud y limitaciones de la función `glob()` de gli