C++ es un lenguaje de programación diseñado en 1979 por Bjarne Stroustrup. La intención de su creación fue extender al lenguaje de programación C y añadir mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, C++ es un lenguaje híbrido.

Ver en Wikipedia

Noticias que mencionan C++

Diferencias fundamentales entre typeclasses y sistemas de módulos

Los sistemas de programación modernos presentan una confusión persistente entre los typeclasses, presentes en lenguajes como Haskell o Rust, y los sistemas de módulos, típicos de OCaml. Aunque ambos mecanismos comparten una base técnica común, sus objetivos semánticos son distintos. Los typeclasses

Yantra: generador de compiladores y parseadores LALR(1) en C++

Yantra es una herramienta de software escrita en C++ que actúa como un compilador de compiladores y generador de parseadores LALR(1). Su principal característica técnica es la capacidad de generar un árbol de sintaxis abstracta (AST) completo antes de ejecutar las acciones semánticas, lo que permite

Proyecto para reproducir videos en la cruz de farmacia de Epitech Lyon

Un equipo de estudiantes de Epitech Lyon ha desarrollado un sistema para reproducir videos en la cruz de farmacia física de la escuela, un proyecto que surge de la ingeniería inversa de este símbolo nacional francés. La iniciativa, documentada en un blog personal, detalla el proceso técnico utilizad

Diseño orientado a datos para optimizar el rendimiento en C++

El diseño orientado a datos (DOD) ofrece una alternativa técnica al programación orientada a objetos para maximizar la eficiencia en C++. A diferencia de la abstracción tradicional, que prioriza la reutilización y la encapsulación, el DOD se centra en la estructura de la memoria y el acceso directo

Implementación de un trazador de rayos en Brainfuck

El desarrollo de un trazador de rayos en el lenguaje de programación Brainfuck (BF) demuestra la viabilidad de implementar sistemas complejos en entornos con restricciones extremas. Este proyecto, disponible en GitHub, surge de la curiosidad del autor al leer que incluso los trazadores de rayos se h

Agente de IA optimiza kernels CUDA mediante LangGraph y C++

El proyecto agentic-cuda-optimizer presenta un sistema de optimización de kernels para GPU basado en un flujo de trabajo de LangGraph. Esta herramienta automatiza el ciclo de generación de código, verificación de corrección, benchmarking y refinamiento para mejorar el rendimiento de operaciones matr

Cómo implementar argumentos nombrados en Rust sin nuevas características

El artículo técnico analiza cómo replicar la ergonomía de los argumentos nombrados en Rust utilizando su sistema de tipos existente, evitando la adición de nuevas características de lenguaje. El autor argumenta que, aunque Rust no ofrece sintaxis nativa para argumentos nombrados como Python o Kotlin

Apache Parquet incorpora codificación ALP para datos de punto flotante

Apache Parquet ha integrado la codificación de punto flotante sin pérdidas adaptativa (ALP), una nueva técnica de compresión diseñada para valores decimales almacenados como tipos de punto flotante (FLOAT y DOUBLE). Esta adición ofrece una relación de compresión similar a la del algoritmo zstd, pero

Por qué el punteado de tipos en C y C++ genera comportamientos indefinidos

El punteado de tipos, que consiste en interpretar la memoria como diferentes tipos entre lecturas y escrituras, es una técnica esencial para la serialización y el acceso a hardware, pero con riesgos críticos de comportamiento indefinido (UB). En C, las únicas formas seguras y definidas son el uso de

Propuesta de estándar C++ para ejecución asíncrona genérica

El documento P2300R10std::execution propone un diseño autocontenido para un marco de trabajo en C++ estándar que gestiona la ejecución asíncrona en recursos genéricos. Basado en la propuesta P0443R14, este estándar busca resolver la creciente necesidad de paralelismo y asincronía en el software C++,

Tutorial para programar un bombardero B2 en GTA 3 con C++

Este tutorial técnico, publicado por el canal Tariq10x, guía al desarrollador en la creación de un bombardero B2 de sigilo para el videojuego GTA 3 utilizando el lenguaje de programación C++. El proyecto, que se presenta como la primera entrega de una nueva serie, tiene como objetivo principal la im

Goose: lenguaje de sistemas seguro en memoria y rápido

Goose es un lenguaje de programación de sistemas diseñado para ofrecer seguridad de memoria sin las sobrecargas típicas de los lenguajes modernos. Su arquitectura elimina el montón de memoria (heap), el recolector de basura (GC) y las anotaciones de vida, basándose en pila de datos gestionados por e

Por qué las referencias laborales públicas generan spam

Las referencias laborales públicas, especialmente cuando se ofrecen incentivos financieros como pagos de 1.500 dólares por contratación, transforman el proceso de reclutamiento en una estrategia de captación masiva y no personal. Un candidato con perfil de doctorado en física y experiencia en C++ y

Reflexiones de Mark Seemann sobre el aprendizaje de la programación con IA

Mark Seemann, economista y experto en software, publica una respuesta extensa a una carta de un lector que cuestiona la relación entre la inteligencia artificial y la competencia técnica. Seemann argumenta que, aunque la IA acelera la construcción de software, no garantiza la comprensión profunda de

onboardapi: biblioteca para comunicación de sensores con DDS

onboardapi es una biblioteca de interfaz y middleware desarrollada por Rheinmetall que facilita la comunicación entre sistemas de sensores y componentes de software. Su objetivo principal es garantizar la interoperabilidad mediante un modelo de datos estandarizado, diseñado para entornos de hardware

Análisis técnico de GDScript: ventajas, limitaciones y gestión de memoria

GDScript es el lenguaje de scripting de alto nivel diseñado específicamente para la lógica de juegos en el motor Godot. A diferencia de otros lenguajes de programación, GDScript ofrece características nativas optimizadas para el desarrollo de videojuegos, como tipos Vector2 y Vector3, una librería e

Cómo GCC implementa las funciones anidadas

Las funciones anidadas son una extensión histórica del lenguaje C en GCC que permite definir una función dentro del cuerpo de otra. Este artículo analiza en detalle el mecanismo interno que emplea el compilador para que una función an acceda a las variables de su función padre. La pieza clave es una

La inferencia de tipos tiene problemas de usabilidad

La inferencia de tipos —la capacidad de un compilador de deducir automáticamente el tipo de una variable a partir de una asignación, sin que el programador lo declare— se ha convertido en una característica estándar en los lenguajes modernos. Go, Rust, Swift, Scala, Kotlin, Zig o Nim la incluyen de

Cómo funciona dyn Trait en Rust: visualización de las vtables en memoria

Este artículo explica de forma práctica cómo Rust implementa el polimorfismo dinámico mediante dyn Trait y qué ocurre en memoria. Partiendo del ejemplo clásico de dibujar figuras (círculos, cuadrados y triángulos), la autora compara el enfoque de Rust con el de C++: las funciones virtuales con vtabl

jank mejora sus errores y lanza un repositorio oficial de paquetes nativos

jank ha ampliado su sistema de errores en C++ con trazas de excepciones en tiempo de ejecución, páginas de ayuda y mensajes más claros para resolver ambigüedades entre funciones candidatas. El compilador combina información de depuración del ejecutable actual, archivos compilados con anticipación y

Project Xanadu: retrospectiva crítica desde la fiesta de su 50.º aniversario

En diciembre de 2024, una reunión celebrada en San Francisco conmemoró el 50.º aniversario del manifiesto Computer Lib/Dream_Machines de Ted Nelson (1974) y la visión de Project Xanadu. El autor, colaborador de Wikipedia y responsable de Gwern.net, asistió invitado a última hora y pudo examinar una

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

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

Reescribió 65.000 líneas de código a Rust con Fable por 400 dólares

Un desarrollador relata cómo migró un proyecto de 65.000 líneas de código de C++ a Rust utilizando Fable 5, una herramienta basada en modelos de lenguaje, por un coste aproximado de 400 dólares. Para ello recurrió a la habilidad /teach de Matt Pocock, pensada para enseñar Rust idiomático a programad

Rust activa experimento de sobrecarga de funciones para interop C++

El Proyecto Rust ha habilitado un experimento inestable en las compilaciones nightly a partir del 31 de julio de 2026 que permite la sobrecarga de funciones más ergonómica, enfocada principalmente en mejorar la interoperabilidad con C++. Esta iniciativa, impulsada por la Rust Foundation y financiada

mold: un enlazador masivamente paralelo para compilar binarios en segundos

mold es un enlazador (linker) para sistemas Unix y Linux que aplica paralelismo de datos de forma sistemática a todo el proceso de enlazado, una fase crítica en la construcción de software que combina ficheros objeto compilados para producir un ejecutable o una biblioteca compartida. Aunque los enla

Reducir a 16 bytes un nodo AST en C++: optimizando un parser de Markdown

Un programador documenta el proceso seguido para reducir drásticamente el consumo de memoria de un parser de Markdown escrito en C++, portado desde la librería Rust markdown-rs como parte del proyecto gpui-cpp. La partida fue un struct Node de 232 bytes generado por una IA; el resultado final es un

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

Terry A. Davis: el ingeniero que creó TempleOS en solitario

Terrence Andrew Davis (15 de diciembre de 1969 – 11 de agosto de 2018) fue un ingeniero eléctrico, programador y artista outsider estadounidense, célebre por diseñar en solitario TempleOS, un sistema operativo de dominio público. Tras comenzar a sufrir episodios maníacos en 1996, fue hospitalizado y

Historias fascinantes de la informática reunidas en una sola lista

El programador y divulgador Al Sweigart ha publicado en su blog una amplia recopilación de anécdotas, fallos y conceptos decisivos en la historia de la informática y el desarrollo de software. La lista parte del célebre comentario de Tony Hoare sobre la invención de la referencia nula como su «error

ByteAtomic de iceoryx2: primitivas lock-free seguras contra carreras de datos

iceoryx2, biblioteca de comunicación entre procesos orientada a sistemas críticos de seguridad y alta fiabilidad, incorpora ByteAtomic, un envoltorio que permite copiar memoria de forma atómica a nivel de byte. La pieza resuelve un problema conocido en Rust y C++: los sequence locks, que evitan bloq

Migrar de C y C++ a Rust: estrategia incremental frente a la reescritura total

La migración de proyectos en C y C++ a Rust ya no se considera una apuesta experimental: cada vez más equipos adoptan Rust como vía práctica para mejorar la seguridad de memoria, reducir costes de mantenimiento a largo plazo y modernizar sistemas de rendimiento crítico. Sin embargo, el éxito no depe

La conversión de float a int en C++ puede ser comportamiento indefinido

En C++, convertir un valor en coma flotante a un entero mediante sintaxis tan habitual como `int i = f;` o `static_cast<int>(f)` constituye comportamiento indefinido cuando el valor truncado no cabe en el tipo destino. El estándar lo recoge en la página de conversiones implícitas de Cppreference, do

Aprender a programar de verdad lleva diez años, no 24 horas

Peter Norvig, director de Investigación de Google, sostiene en este ensayo clásico que la promesa de los manuales "Aprenda X en 24 horas" es engañosa: nadie llega a programar con soltura en un fin de semana. La investigación sobre adquisición de expertise —desde el ajedrez hasta la composición music

Construir una cola lock-free rápida en C++ moderno desde cero

Las colas son una de las estructuras de datos más usadas en informática, y en código de un solo hilo su implementación resulta trivial: basta con std::queue en C++. La complejidad surge al pasar a entornos multihilo, donde varios hilos compiten por los mismos elementos y, si no se sincronizan correc

Programación funcional desde cero: motivación y funciones matemáticas

Este artículo, primero de una serie titulada "Programación funcional desde los principios básicos", explica qué es la programación funcional y por qué importa. Presenta las cuatro grandes familias de paradigmas de programación (imperativo procedural, orientado a objetos, lógico y funcional) y enmarc

Diseño orientado a datos: fundamentos y rendimiento de caché

El diseño orientado a datos (Data-Oriented Design, DOD) es un paradigma de programación que prioriza el acceso y la transformación de la información por encima de la estructura jerárquica de clases propia de la programación orientada a objetos (OOD). Su motivación principal es el rendimiento, deriva

Aprende WebGPU: guía para crear aplicaciones 3D nativas en C++

"Learn WebGPU" es una guía didáctica y en desarrollo que enseña a utilizar la API gráfica WebGPU, especificada por el W3C, para construir aplicaciones 3D nativas en C++ desde cero, compatibles con Windows, Linux y macOS. El material está organizado en bloques modulares —Introducción, Getting Started

Optimización de GEMM en FP32 logra 85,30 GFLOPS en un solo núcleo de AMD Zen 3

Un estudio técnico explora de forma sistemática la optimización de la multiplicación de matrices en precisión simple (FP32) sobre un AMD Ryzen 5 5500, basado en la microarquitectura Zen 3. El trabajo evalúa 28 configuraciones distintas que combinan técnicas de bajo nivel: bloqueo de caché en tres ni

Cómo Go implementa sus genéricos con GC shape stenciling

Go emplea una técnica intermedia entre la monomorfización completa de Rust o C++ y la borradura de tipos de Java para implementar los genéricos introducidos en Go 1.18: el GC shape stenciling. En lugar de generar una copia del código genérico por cada tipo concreto, el compilador agrupa los tipos se

Lo que `for x in y` esconde de ti en Python

El bucle `for x in y` de Python parece una construcción trivial: recorres una lista, una cadena o un rango y obtienes un elemento cada vez. Sin embargo, bajo esa sintaxis amable se esconde un mecanismo bien definido que conviene entender para depurar generadores, iterables personalizados o errores c

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

Julia y el problema de los dos lenguajes en la computación científica

La computación científica arrastra desde hace décadas un dilema conocido como el problema de los dos lenguajes: los investigadores prototipan en Python por su facilidad, pero reescriben las partes críticas en C++ o Rust para ganar rendimiento, porque Python resulta demasiado lento. En 2012, cuatro c

ShipThatCode: una plataforma para aprender construyendo software desde cero

ShipThatCode es una plataforma educativa orientada a estudiantes y profesionales de la ingeniería de software que quieran aprender construyendo sistemas reales en lugar de seguir tutoriales pasivos. La propuesta se articula en torno al esquema «elegir → escribir → ejecutar»: el usuario escoge un pro

Algoritmos prácticos para entornos incrementales de desarrollo de software

Tim A. Wagner presenta en este informe técnico de 1998 una colección integrada de algoritmos y estructuras de datos concebida como base de un entorno práctico de desarrollo incremental de software. El trabajo, realizado en la Universidad de California en Berkeley, introduce una representación con au

Tiny Tapeout Explorer: visualización 3D de chips en el navegador

Tiny Tapeout Explorer es una herramienta interactiva basada en web que permite explorar diseños de circuitos integrados creados por la comunidad de Tiny Tapeout, un proyecto de código abierto orientado a democratizar la fabricación de chips de silicio a pequeña escala. La aplicación funciona íntegra

La intención como hilo conductor de todo código

Este ensayo defiende que la intención del programador es el eje unificador de toda la actividad de codificar, tanto al escribir como al leer software. Partiendo de la idea de que escribir código se asemeja a escribir una historia, el autor sostiene que la programación es un arte en el que la belleza

Qué aprender para ser programador de gráficos en tiempo real

Esta guía didáctica, escrita por un programador veterano de gráficos, detalla las habilidades necesarias para incorporarse al mercado laboral como desarrollador de gráficos en tiempo real, un campo clave de la industria del videojuego y del renderizado. El autor parte de una advertencia sobre el pap

La regla de Stroustrup: explícito para principiantes, conciso para expertos

La regla de Stroustrup, formulada por el creador de C++, sostiene que los principiantes necesitan sintaxis explícita y detallada, mientras que los expertos prefieren notación breve y tersa. El principio aparece en una retrospectiva sobre C++ del propio Bjarne Stroustrup: las características nuevas p

La función de OxCaml que más lenguajes deberían copiar

OxCaml, el superset de OCaml desarrollado por Jane Street, incorpora una función que obliga al compilador a garantizar que una función completa no realiza asignaciones en el heap. Basta con anotar el código con [@zero_alloc]: si cualquier parte del árbol de llamadas reserva memoria, la compilación f

LuaJIT 3.0 abre el debate sobre sus extensiones sintácticas

Mike Pall, responsable de LuaJIT, ha abierto el issue #1475 en el repositorio oficial del proyecto como punto central para definir las extensiones de sintaxis que incluirá la futura versión 3.0 del compilador. El hilo funcionará como documento vivo: la descripción recoge la propuesta inicial y un co

Cómo redactar un documento de diseño de software eficaz

Un documento de diseño de software es un artefacto previo a la implementación que permite anticipar decisiones técnicas costosas, coordinarse con otros equipos y obtener retroalimentación antes de escribir código. Michael Lynch, ingeniero con experiencia en Google, Microsoft y sus propias empresas,

Swordfish, el motor de DolphinDB que lleva el scripting al rendimiento de C++

DolphinDB presentó Swordfish, su motor de procesamiento de flujos de datos de baja latencia, en una sesión técnica emitida el 18 de diciembre dentro de la serie 'DolphinDB Core Technology Uncovered'. La herramienta está pensada para entornos donde cada microsegundo cuenta, como la negociación cuanti

Una extensión comunitaria integra Claude Code en Visual Studio 2026

Claude Code cuenta con integración oficial de primer nivel en VS Code y JetBrains, pero no en Visual Studio. Para cubrir ese hueco surge claude_code_vs, una extensión comunitaria —no afiliada a Anthropic— que implementa el mismo protocolo de integración con el IDE que usa el CLI de Claude Code y lo

Cómo simular argumentos con nombre en C++ usando inicializadores designados

En Python, los argumentos con nombre (keyword arguments) permiten escribir APIs claras y concisas. En C++ no existe esta característica de forma nativa, y añadirla requeriría décadas de esfuerzo normativo. Sin embargo, con las prestaciones modernas del lenguaje es posible emularla de manera bastante

Cómo declarar en C++ una función que recibe un bloque de memoria

Declarar en C++ una función que acepta un bloque genérico de memoria parece trivial, pero la elección de la firma no lo es. Este artículo analiza las opciones habituales: el clásico `void DoSomething(const void* p, size_t numBytes)` heredado de C, la variante con `const uint8_t*` que obliga a añadir

Lathe: una CLI en Go que genera tutoriales técnicos prácticos con LLM

Lathe es una herramienta de código abierto, escrita en Go, que combina un modelo de lenguaje (LLM) con una interfaz local para generar tutoriales técnicos prácticos y guiar al usuario paso a paso en su ejecución manual. Su propuesta se aleja del uso habitual del LLM como generador de código y lo reo

Se estrena en YouTube 'C++: The Documentary', crónica de 40 años del lenguaje

El documental 'C++: The Documentary' se estrenó hoy en YouTube con un recorrido por los 40 años de historia del lenguaje de programación C++, desde su creación en los laboratorios Bell de AT&T a manos de Bjarne Stroustrup hasta su actual adopción global. El filme reúne a figuras clave del lenguaje y

Ü: un lenguaje de programación compilado, seguro y sin GC

Ü es un lenguaje de programación compilado y de tipado estático que prioriza la seguridad y el rendimiento. Inspirado en C++, pero sin sus desventajas, y con influencias menores de Rust, Ü ofrece una separación entre código seguro e inseguro, verificación en tiempo de compilación y abstracciones com

Por qué no debes desactivar las aserciones en producción

Este artículo técnico sostiene que desactivar las aserciones en producción es una práctica «irremediablemente mala», y toma como referencia principal el comportamiento de `std.debug.assert` en Zig, aunque su razonamiento se aplica a la ingeniería de software en general. ¿Qué es una aserción? Es una

Jmaczan lanza tiny-vllm, motor educativo de inferencia LLM

El desarrollador Jmaczan ha lanzado en GitHub 'tiny-vllm', un motor de inferencia de alto rendimiento para modelos de lenguaje grande (LLM) desarrollado en C++ y CUDA. Esta iniciativa se presenta como una versión más compacta y educativa de vLLM, diseñada para derivar desde cero las matemáticas y ar

TSDuck: nueva herramienta open source para manipular flujos de transporte

TSDuck es un nuevo marco de trabajo de código abierto desarrollado por Thierry Lelégard para la manipulación de flujos de transporte MPEG. Diseñado como una caja de herramientas general para ingenieros de televisión digital, el software facilita tareas de prueba, monitoreo, integración y depuración

Arrays en C: entre datos y punteros

Los arrays en C son una fuente común de confusión para desarrolladores debido a su comportamiento híbrido entre tipos de datos y punteros. Técnicamente, un array `T[n]` representa una secuencia contigua de valores en memoria, pero en la práctica se 'decomponen' (decay) en punteros `T*` en casi todas

Cómo optimizar la transposición de matrices en sistemas de alto rendimiento

La transposición de matrices es una operación fundamental en álgebra lineal que consiste en intercambiar filas por columnas, transformando una matriz $A$ en su versión transpuesta $A^T$. Aunque matemáticamente sencilla, en el ámbito de la programación de alto rendimiento, se convierte en un desafío

Comparativa técnica de Rust y C++ en C++Russia

El desarrollador Yugr presentó en C++Russia 2026 un análisis técnico sobre el rendimiento de Rust frente a C++. La charla investiga el impacto de la seguridad en la eficiencia de Rust, una lengua de programación de bajo nivel que compite directamente con C++. El autor identifica puntos fuertes y déb

Facebook crea 'Gorilla': base de datos para resolver fallos

Facebook desarrolló una base de datos en memoria llamada Gorilla para gestionar y resolver problemas críticos en sus sistemas. Esta herramienta, utilizada desde hace 18 meses, permite identificar y depurar rápidamente fallos en tiempo real. Gorilla almacena más de 2 billones de series de tiempo únic

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

Peter Luschny presenta 21 algoritmos para optimizar factoriales a gran escala

Peter Luschny ha publicado una colección exhaustiva de algoritmos para el cálculo de la función factorial (n!) en gran escala. Este recurso técnico, alojado en su sitio web, presenta descripciones breves de 21 algoritmos distintos, junto con implementaciones en múltiples lenguajes de programación co

ArcBrush, editor gratuito con nodos, automatiza flujos de trabajo 2D.

ArcBrush, un editor de imágenes basado en nodos gratuito, busca revolucionar los flujos de trabajo 2D mediante la automatización de pipelines no destructivos. Lanzado como una aplicación de escritorio nativa en C++ para Windows, macOS y Linux, el software permite conectar 79 nodos para generar autom

La teselación: la técnica que hace más realistas los gráficos 3D

La teselación de triángulos es una técnica fundamental en gráficos por computadora que permite aumentar el detalle de una malla geométrica en tiempo real, dividiendo triángulos simples en muchos más pequeños. Esta tecnología se popularizó con DirectX 11, aunque sus orígenes se remontan a Xbox 360 (2

Funciones de conversión a enteros en C: todas presentan fallas

El artículo aborda un problema fundamental en la biblioteca estándar de C: la falta de funciones confiables para convertir cadenas a enteros de forma segura. El autor analiza cuatro funciones principales: atol(), strtol(), strtoul() y sscanf(), concluyendo que todas presentan deficiencias significat

El comportamiento indefinido: el error invisible que acecha en todo código C

El artículo aborda un tema fundamental en la programación con C y C++: el comportamiento indefinido (Undefined Behavior o UB). El autor, con más de 30 años de experiencia, argumenta que prácticamente todo código no trivial en C/C++ contiene UB, y que es imposible escribir código completamente correc

Paul Graham explica por qué Lisp se impone en el desarrollo web moderno

Lisp en Aplicaciones Web: Una Revolución en el Desarrollo de Software El texto de Paul Graham explora por qué Lisp se convirtió en una elección poderosa para desarrollar aplicaciones web, explicando las ventajas técnicas y prácticas que este lenguaje proporciona. Graham начинает с того, что explic

Clark: el navegador que bloquea fingerprinting desde su código nativo

Clark Labs Inc ha lanzado Clark, un navegador fork de ungoogled-chromium (versión 148.0.7778.96) que incorpora herramientas de anti-fingerprinting directamente en el código fuente binario a nivel C++. A diferencia de las soluciones JavaScript tradicionales como puppesteer-extra-plugin-stealth, este

Jank crea IR personalizada para optimizar código Clojure

El compilador de Clojure 'jank' ha implementado su propia representación intermedia (IR) personalizada, diseñada específicamente para optimizar el código a nivel de semántica del lenguaje Clojure. Anteriormente, jank delegaba toda la optimización a LLVM, pero debido a que LLVM IR opera a un nivel mu

Domina la programación CUDA con los mejores libros del mercado

Esta lista curada reúne los mejores libros de programación CUDA, la plataforma de NVIDIA para computación paralela en GPUs. CUDA permite aprovechar la enorme capacidad de procesamiento paralelo de las tarjetas gráficas para tareas de alto rendimiento que antes requerían clusters costosos. La colecci

Domina la reconstrucción 3D con Gaussian Splatting este fin de semana

3D Gaussian Splatting (3DGS) es una técnica innovadora de reconstrucción tridimensional que permite crear modelos 3D a partir de un conjunto de fotografías de una escena tomada desde múltiples ángulos de cámara. A diferencia de los renderizadores tradicionales que utilizan triángulos como primitivas

La realidad oculta tras la programación de microcontroladores STM32

El autor explora la programación a bajo nivel en microcontroladores STM32, comparando el uso de capas de abstracción (HAL) con la escritura directa en registros. Después de años trabajando en software automotriz donde creían estar 'cerca del hardware', se da cuenta de que existen múltiples capas int

El problema oculto de Go: abstracciones que ralentizan el código crítico

Este artículo explora un problema fundamental en la optimización de rendimiento en Go: la ausencia de abstracciones de costo cero en las rutas críticas de código (hot paths). El autor, al portar el algoritmo Brotli a Go puro para el proyecto go-brrr, descubrió que las abstracciones idiomáticas del l

Tres estudiantes Selected para mejorar Haiku OS este verano

Haiku OS ha seleccionado tres estudiantes para participar en el programa Google Summer of Code 2026. Los jóvenes seleccionados trabajarán durante el verano en proyectos de mejora del sistema operativo de código abierto. Leo Roureau, estudiante de ingeniería de software en Polytechnique Montréal, des

La IA transforma la selección de lenguajes de programación en 2026

La inteligencia artificial está transformando radicalmente la selección de lenguajes de programación en la industria tecnológica. Hace dos años, los modelos de IA apenas podían escribir código en lenguajes complejos como Rust sin errores; para abril de 2026, Claude Opus 4.7, GPT-5.5, Gemini 3.1 y De

Swift alcanza Teraflops entrenando LLMs en Apple Silicon

Este artículo explora cómo optimizar operaciones de multiplicación de matrices en Swift para entrenar Large Language Models (LLMs) en Apple Silicon, buscando alcanzar rendimiento de Teraflop/s desde el punto de partida de Gigaflops. El autor, Matt Gallagher, toma como referencia la implementación ll

Decisión de diseño: por qué rechacé usar query strings en Wander Console

Este artículo de susam.net reflexiona sobre una decisión de diseño后悔ada en un proyecto personal llamado Wander Console, una herramienta web descentralizada y auto-hosteable que permite a los visitantes explorar páginas recomendadas por una comunidad de dueños de sitios web personales. El autor añade

Guía de estilo C++: consejos de su creador

Este documento, originalmente una FAQ mantenida por Bjarne Stroustrup (creador de C++), aborda aspectos cruciales del estilo y las técnicas de programación en C++. Aunque ahora se recomienda consultar el [C++ FAQ](http://isocpp.org/faq) y las [C++ Core Guidelines](https://github.com/isocpp/CppCoreG

Dear ImGui Bundle: Facilita apps interactivas en Python y C++

Un nuevo framework llamado Dear ImGui Bundle ha sido lanzado para simplificar el desarrollo de aplicaciones interactivas en Python y C++, según anunció el desarrollador Pthom en GitHub. La herramienta, disponible desde ahora, permite crear aplicaciones para escritorio, móvil y web, aprovechando la p

IA y código: ¿Adiós a las revisiones manuales?

Un reciente artículo argumenta que las revisiones de código tradicionales se están volviendo imprácticas e incluso irresponsables en la era de los agentes de codificación con IA. El autor propone una analogía con los compiladores: nadie revisa el código ensamblador generado por un compilador, sino q

Linux: Optimización para medición de tiempo precisa

Este artículo explora una optimización crucial para sistemas de baja latencia: la medición precisa del tiempo en Linux. El autor, trabajando en un pipeline de baja latencia (1-10 microsegundos por etapa) con OpenTelemetry, se enfrentó al desafío de minimizar el impacto de la instrumentación de rastr

WebAssembly: Carga de Tarballs Mucho Más Rápida

Desarrolladores han creado una nueva técnica para acelerar la carga de archivos tarball (.tar.gz) en WebAssembly, evitando la necesidad de extraer y copiar archivos. La técnica, implementada a través del proyecto `tar-vfs-index`, genera un pequeño archivo JSON que indexa el tamaño y la ubicación de

Gova: Nuevo Framework Go Simplifica Apps de Escritorio

Un nuevo framework llamado Gova ha sido lanzado por NV en GitHub, buscando simplificar el desarrollo de aplicaciones de escritorio nativas en Go para macOS, Windows y Linux. Gova permite a los desarrolladores crear aplicaciones con una sola base de código Go, utilizando componentes tipados, estado r

SQLite ahora con pub/sub: extensión Honker revoluciona

Un desarrollador ha creado 'Honker', una extensión para SQLite que añade capacidades de publicación/suscripción (pub/sub) al estilo de PostgreSQL, sin necesidad de un servidor externo como Redis o Celery. Honker permite la creación de colas de tareas, flujos de eventos y notificaciones entre proceso

IA mejora código ensamblador y acelera rendimiento

Investigadores han demostrado que la inteligencia artificial (IA), específicamente modelos como Grok y Claude, pueden optimizar código en lenguaje ensamblador, logrando mejoras significativas en el rendimiento. Daniel Lemire, investigador, llevó a cabo un experimento donde solicitó a estas IA que op

C++26: Reflexión y Seguridad en la Nueva Versión

El borrador final del estándar C++26 ha sido completado, según anunció Herb Sutter, experto en C++ y ex presidente del comité de estándares ISO C++. Esta nueva versión introduce cambios significativos que buscan modernizar y mejorar el lenguaje. Entre las novedades más destacadas se encuentra la imp

MCD Binario: Alternativa Eficiente al Algoritmo Clásico

El Algoritmo Binario del MCD (Máximo Común Divisor) es una alternativa al algoritmo de Euclides para calcular el MCD de dos números enteros. Aunque ambos tienen una complejidad logarítmica (el tiempo de ejecución crece lentamente a medida que aumentan los números), el algoritmo binario puede ser sig

orígenes del código: los 'ur-lenguajes' revelados

Este artículo explora un concepto fundamental en el desarrollo de software: los "ur-lenguajes" (lenguajes ancestrales). La idea central es que, aunque existen miles de lenguajes de programación, muchos comparten patrones básicos de construcción y organización, agrupándose en familias o "ur-lenguajes

Kdenlive: Edición de video más fácil con nuevas funciones

El equipo de Kdenlive ha anunciado importantes mejoras y optimizaciones para su software de edición de video no lineal, Kdenlive, durante el año 2025 y con una nueva versión inminente (26.04). Las actualizaciones incluyen una nueva herramienta de enmascaramiento automático basada en el modelo SAM2,

Ada: El lenguaje secreto que influyó en la programación

Ada es un lenguaje de programación con una historia peculiar y una influencia significativa en el desarrollo de lenguajes modernos, a pesar de su relativa oscuridad en la industria. Su origen se remonta a la década de 1970, cuando el Departamento de Defensa de los Estados Unidos (DoD) enfrentaba una

30 años de HPC: Evolución y desafíos

Este artículo reflexiona sobre los 30 años de evolución de la computación de alto rendimiento (HPC) y la programación asociada, basándose en datos del ranking TOP500 de sistemas HPC y la evolución de los lenguajes y modelos de programación utilizados.

Investigación de Lighterra: Referente en Informática

La colección de artículos y papers de Lighterra, liderada por Jason R. C. Patterson, abarca una impresionante variedad de temas en informática, desde el diseño de microprocesadores hasta la optimización de compiladores y la calidad de video en la web. El trabajo de Patterson, a menudo originado como

Desaparece revista clave sobre código C

El 'Journal of C Language Translation' (JCLT) fue una publicación trimestral especializada, con un enfoque muy concreto: el desarrollo de herramientas que procesan y transforman código escrito en los lenguajes de programación C y C++. Aunque hoy en día pueda parecer un nicho muy específico, su impor

IA local: AMD lanza GAIA, framework de código abierto

AMD ha presentado GAIA, un nuevo framework de código abierto que permite a los usuarios crear y ejecutar agentes de inteligencia artificial directamente en sus dispositivos locales, sin necesidad de conexión a la nube. Desarrollado en Python y C++, GAIA ofrece un SDK completo en ambos lenguajes y es

Firefox más rápido: optimización acelera compilaciones

Mozilla ha logrado acelerar las compilaciones de Firefox en un 17% gracias a la optimización del sistema de caché de compilación (buildcache), según anunció Andreas Farre en su blog. La mejora se consiguió integrando un plugin Lua en buildcache para almacenar en caché el código generado a partir de

Lean: el lenguaje que verifica su propio código

Este artículo explora el concepto de un "lenguaje de programación perfectible", ejemplificado por Lean. La idea central es que un lenguaje perfectible no solo permite escribir código, sino también expresar propiedades sobre ese código dentro del propio lenguaje. Esto abre la puerta a la verificación

C++: Revelan detalles inéditos de su historia

La 'C++ History Collection' es un valioso repositorio de documentos, código fuente y otros materiales que narran la fascinante historia del lenguaje de programación C++. Creado y editado por Paul McJones, este recurso ofrece una visión profunda de la génesis, desarrollo, estandarización y evolución

Watgo: Herramientas WebAssembly en Go

Un nuevo conjunto de herramientas llamado Watgo ha sido lanzado recientemente como una alternativa en Go a wabt (C++) y wasm-tools (Rust) para trabajar con WebAssembly. Desarrollado por Eli Ben-Zvi, Watgo ofrece una interfaz de línea de comandos (CLI) y una API en Go para analizar, validar y codific

Typhon: base de datos ultrarrápida creada en C#

Un desarrollador ha creado un motor de base de datos de alto rendimiento llamado Typhon, escrito en C#, que apunta a lograr tiempos de confirmación de transacciones de tan solo 1-2 microsegundos. Typhon está diseñado para entornos de simulación en tiempo real y servidores de juegos, utilizando un en

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

Prueba de primalidad optimizada para 32 bits

Este artículo explica cómo implementar una prueba de primalidad determinista para números de 32 bits utilizando una optimización basada en bases específicas. La primalidad, o si un número es primo, es un concepto fundamental en matemáticas y criptografía. Verificar la primalidad de números grandes e

Aprende a programar juegos para Nintendo DS

Este manual, creado por Jaeden Amero y actualizado hasta Diciembre de 2008, sirve como una introducción a la programación para la Nintendo DS, dirigida a aquellos interesados en el desarrollo de juegos caseros (homebrew). El documento aborda la complejidad de crear juegos para una consola de Nintend

Tailslayer: Biblioteca Acelera Lectura de RAM

Un nuevo proyecto de código abierto llamado Tailslayer ha sido lanzado para reducir la latencia de lectura en la memoria RAM, un problema común causado por las pausas en el refresco de la DRAM. Desarrollado por LaurieWired y disponible en GitHub, la biblioteca C++ Tailslayer replica los datos a trav

Destructores y excepciones en C++: un análisis clave

Este artículo de sandordargo.com explora un tema crucial y a menudo pasado por alto en C++: qué sucede cuando un destructor lanza una excepción. La comprensión de este comportamiento es vital para escribir código robusto y evitar comportamientos inesperados, especialmente en un panorama donde la gen

SOM: Nuevo Lenguaje de Programación con Múltiples Versiones

Un nuevo lenguaje de programación llamado 'SOM' ha surgido, destacando por su enfoque en la claridad de implementación sobre el rendimiento absoluto. Desarrollado por SOM-st, SOM cuenta con nueve implementaciones distintas, que varían en tamaño (de 2.5k a 8k líneas de código) y técnicas de implement

Kind: Alternativa nativa y rápida a Discord creada en C++

Un desarrollador ha creado una aplicación nativa de Discord llamada 'kind', construida con C++ y Qt 6, como alternativa a la aplicación oficial. La aplicación, disponible para Windows, macOS y Linux, se distingue por su velocidad, evitando el uso de Electron o wrappers web. La interfaz de usuario ca

Startup Mbodi AI busca experto en robótica

Mbodi AI, una startup de robótica fundada por ex empleados de Google y respaldada por Y Combinator, busca un Ingeniero Senior de Robótica (Sistemas y Control). La empresa, que se encuentra en su segunda ronda de financiación (YC X25), está desarrollando una plataforma de IA encarnada que permite a l

Windows++: Framework ligero para apps en C++

Windows++ es un framework de aplicación ligero en C++ diseñado para simplificar el desarrollo de aplicaciones para Windows, especialmente en un contexto donde el tamaño y la flexibilidad son cruciales. Su origen se remonta a una necesidad: evitar la complejidad y rigidez de frameworks más grandes co

Lemonade: IA local, rápida y privada para todos

Lemonade, una nueva herramienta de código abierto, ha sido lanzada para facilitar la ejecución local de modelos de inteligencia artificial en computadoras personales. La plataforma, disponible para Windows, Linux y macOS (en versión beta), busca democratizar el acceso a la IA al ofrecer una solución

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

SwiftLM: LLMs nativos y rápidos en Apple Silicon

Un equipo de desarrolladores ha lanzado SwiftLM, un servidor de inferencia nativo para dispositivos Apple Silicon que ofrece compatibilidad con la API de OpenAI. Esta herramienta, de código abierto, elimina la necesidad de un entorno de ejecución de Python y el Global Interpreter Lock (GIL), lo que

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

Loreline: nuevo lenguaje facilita narrativas interactivas

Loreline es un nuevo lenguaje de narrativa diseñado para facilitar la creación de historias interactivas y juegos. Desarrollado por Jeremyfa, el lenguaje busca equilibrar la facilidad de uso para escritores con la complejidad de la ingeniería de software. Su diseño prioriza una sintaxis intuitiva qu

IA descubre fallos de seguridad: una revolución silenciosa

Investigadores advierten que la inteligencia artificial (IA) está revolucionando la investigación de vulnerabilidades de seguridad, pero no de la manera que se anticipaba. En lugar de generar vulnerabilidades a través de herramientas de análisis complejas, los modelos de IA de vanguardia, como Claud

Hegel: pruebas avanzadas llegan a más lenguajes

Antithesis ha lanzado Hegel, una nueva familia de bibliotecas de pruebas basadas en propiedades, disponibles inicialmente para Rust y con planes de expansión a Go, C++, OCaml y TypeScript. Hegel busca replicar la calidad de las pruebas basadas en propiedades de Hypothesis en múltiples lenguajes, int

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

OpenUI: Parser de Rust a TypeScript, un cambio revelador

Este artículo de OpenUI relata la experiencia de migrar un parser de lenguaje de marcado (openui-lang) de Rust compilado a WebAssembly (WASM) a TypeScript, revelando lecciones valiosas sobre optimización de rendimiento y la importancia de perfilar el código antes de tomar decisiones de implementació

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

Cálculos dispersos: nuevo método optimiza el rendimiento

El cálculo eficiente con datos dispersos (sparse data) es crucial en muchas áreas científicas y de ingeniería, desde simulaciones físicas hasta aprendizaje automático. Sin embargo, optimizar el código para estas operaciones, especialmente en hardware diverso como diferentes GPUs, puede ser extremada

Go 1.26: Nueva herramienta facilita la modernización del código

La versión 1.26 de Go introduce una nueva herramienta llamada 'source-level inliner' dentro del comando `go fix`, diseñada para ayudar a los desarrolladores a modernizar su código Go y mantenerlo actualizado. Esta herramienta permite a los autores de paquetes expresar migraciones y actualizaciones d

Código JIT: cómo informar al sistema sobre su ejecución

Este artículo de wakelift.de explora cómo proporcionar información sobre código JIT (Just-In-Time) compilado a diferentes partes del sistema, incluyendo el sistema operativo, herramientas de desarrollo como depuradores y profilers. El problema surgió en MoarVM, una máquina virtual escrita en C que e

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

WebAssembly: ¿Por qué no despega en la web?

WebAssembly (Wasm) ha avanzado significativamente desde su lanzamiento en 2017, incorporando nuevas funcionalidades como memoria compartida, SIMD y manejo de excepciones. Sin embargo, a pesar de estos avances, su adopción en la web se ve limitada por su estatus como lenguaje de segunda clase. Wasm n

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

evi: el nuevo editor de texto que evoluciona de Vim

EVi es un editor de texto, esencialmente una evolución de Vim, un clásico editor de línea de comandos con una larga historia en sistemas UNIX. Para entender EVi, primero hay que comprender su origen: es un 'hard fork' de Vim v9.1.2073. Un 'hard fork' en el contexto del software significa que EVi se

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

Velxio: emula Arduino en tu navegador, gratis

Un nuevo emulador de Arduino gratuito y de código abierto llamado Velxio ha sido lanzado, permitiendo a los usuarios escribir, compilar y simular código Arduino directamente en su navegador web. Desarrollado por David Montero Crespo, Velxio elimina la necesidad de una conexión a internet o una cuent

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

Eyot: Nuevo Lenguaje Facilita Programación de GPU

Un nuevo lenguaje de programación llamado Eyot ha sido desarrollado para simplificar el uso de GPUs y aceleradores en tareas computacionales. Creado por Steele Duncan de Cowley fornia Studios, Eyot busca eliminar la complejidad tradicional de la programación GPU, como la gestión de memoria y la comp

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

Sem: Nueva herramienta revoluciona el control de versiones

Ataraxy Labs ha lanzado 'Sem', una nueva herramienta de código abierto que revoluciona la forma en que se realiza el control de versiones. A diferencia de las herramientas tradicionales que se centran en las líneas de código, Sem ofrece 'diffs' a nivel de entidad, identificando cambios específicos c

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

Nix evita errores de pila con nueva técnica

Nix, un lenguaje de gestión de paquetes y construcción, a menudo se enfrenta a limitaciones de profundidad de pila debido a su naturaleza recursiva. Cuando se ejecutan operaciones iterativas (simuladas a través de recursión), el evaluador de Nix puede alcanzar un límite de 10.000 niveles de llamada,

IA y licencias: polémica en proyecto de código abierto

El proyecto de código abierto 'chardet', un detector de codificación de caracteres para Python, ha generado controversia tras una reescritura completa con la ayuda de inteligencia artificial (Claude Code) para cambiar su licencia de LGPL a MIT. Esta acción, realizada por los mantenedores del proyect

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

Voxile: Nueva actualización trae mundo y herramientas de construcción

VoxRay Games ha lanzado la actualización más importante hasta la fecha para su juego de supervivencia y creación cooperativa con trazado de rayos, Voxile: "La Actualización del Constructor". La actualización, disponible desde el 9 de marzo con un 40% de descuento en Steam, introduce un nuevo mundo,

LFortran compila fpm: avance clave para su beta

LFortran ha logrado compilar con éxito el Fortran Package Manager (fpm), un proyecto complejo que ha permitido identificar y corregir numerosos errores y carencias en el compilador. Este logro, completado el 7 de febrero de 2026, marca un hito importante en el desarrollo de LFortran, acercándolo a s

Sistemas concurrentes: ¿por qué Erlang sigue siendo clave?

Este artículo de Variant Systems explora por qué los sistemas basados en procesos, como los que utiliza Erlang/Elixir (BEAM y OTP), siguen siendo relevantes y efectivos en la construcción de sistemas concurrentes y distribuidos, especialmente en el contexto de la inteligencia artificial y los agente

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

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

Descompilación: 30 años de retos en el código

Este artículo explora la historia de la descompilación de binarios y el desafío persistente de la estructuración del flujo de control. La descompilación es el proceso de convertir código compilado (como C, C++, Rust o Go) de vuelta a una representación de código fuente legible. Aunque el concepto no

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

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

C++17: Optimiza el acceso concurrente con shared_mutex

Este artículo explica `std::shared_mutex`, una herramienta valiosa introducida en C++17 que optimiza el acceso concurrente a datos compartidos, especialmente en escenarios de lectura intensiva. Comienza con un ejemplo básico: un contador que se incrementa y se lee por múltiples hilos, utilizando `st

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

Sitio de espectros atómicos enfrenta problemas técnicos y económicos

El sitio web atomic-spectra.net, dedicado a proporcionar información sobre espectros atómicos, ha experimentado varios cambios y desafíos técnicos en los últimos meses. El administrador del sitio, quien también es desarrollador, se encuentra actualmente sin empleo y enfrenta dificultades financieras

Optimizador Toy: análisis de alias para código más eficiente

Este artículo del blog de Bernstein Bear explora una técnica llamada 'análisis de alias basado en tipos' (TBAA) dentro del contexto de un optimizador de código (Toy Optimizer). El objetivo es mejorar la capacidad del optimizador para comprender cómo los diferentes objetos en la memoria interactúan e

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

Programación: ¿La Sintaxis Define un Lenguaje?

Este artículo explora una peculiaridad en la comunidad de programación: la tendencia a juzgar y elegir lenguajes basándose en su sintaxis de declaración, a menudo sin considerar la semántica subyacente. El autor, un desarrollador de Odin, argumenta que la sintaxis es, en gran medida, superficial y f

Electrobun: Nuevo framework agiliza apps de escritorio

Electrobun v1, un nuevo framework para aplicaciones de escritorio multiplataforma, ha sido lanzado tras dos años de desarrollo. El proyecto, liderado por Yoav, surgió de la frustración con las herramientas existentes para el desarrollo de aplicaciones de escritorio, como Electron y Tauri, que presen

Tipado: ¿Hindley-Milner o Bidireccional?

Este artículo aborda una pregunta común entre los desarrolladores de lenguajes de programación: ¿deberían usar un sistema de tipos Hindley-Milner (HM) o Bidireccional (Bidir)? La respuesta, según el autor, no es tan simple como elegir entre dos opciones mutuamente excluyentes. La verdadera pregunta

Swift 6.0: Retraso por Problemas Técnicos

El desarrollo de Swift 6.0 enfrenta importantes obstáculos técnicos que impiden su lanzamiento estable, según un análisis detallado publicado en GitHub por LadybirdBrowser. La lista de problemas abarca desde incompatibilidades con LLVM, errores en la gestión de tipos opcionales entre Swift y C++, ha

Delphi: 31 años de innovación en desarrollo

Delphi, la plataforma de desarrollo de Embarcadero, celebra su 31º aniversario con la publicación de una innovadora línea de tiempo visual que recorre tres décadas de avances tecnológicos. La línea de tiempo, disponible como descarga gratuita en formato PDF de alta resolución, abarca desde febrero d

Escasez de talento: ia revoluciona la formación en chips

La industria de semiconductores enfrenta una escasez de talento, impulsando la exploración de nuevas estrategias educativas y el uso intensivo de inteligencia artificial (IA). Según un artículo de semiengineering.com, se están considerando opciones como adaptar los planes de estudio de informática p

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

MiniMax M2.5: IA eficiente para tareas complejas

MiniMax ha anunciado el lanzamiento de su nuevo modelo de lenguaje, MiniMax M2.5, diseñado para aumentar la productividad en tareas del mundo real. El modelo, entrenado con aprendizaje por refuerzo en una amplia variedad de entornos complejos, destaca en programación, uso de herramientas, búsqueda y

Apache Arrow: 10 años de intercambio de datos

El proyecto Apache Arrow celebra su décimo aniversario el 5 de febrero de 2026. Iniciado en 2016 como un esfuerzo conjunto para estandarizar el intercambio eficiente de datos columnares entre diferentes bibliotecas y sistemas, Arrow complementa a Apache Parquet al proporcionar un formato en memoria.

D: Nueva Biblioteca para Compilador Facilita Integración

La comunidad del lenguaje de programación D ha anunciado una iniciativa para desarrollar una biblioteca del compilador D como una biblioteca reutilizable. Esta iniciativa, detallada en una publicación del blog del 22 de febrero de 2024, busca facilitar la integración del compilador D en otros proyec

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

Fluorite: Motor de Juegos Usa Flutter para Desarrollo Rápido

Fluorite ha surgido como el primer motor de juego de grado consola que integra completamente Flutter, facilitando el desarrollo rápido y eficiente de videojuegos. El motor, escrito en C++ para optimizar el rendimiento, permite a los desarrolladores escribir código de juego en Dart, aprovechando las

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

Swift y Kotlin: ¿Demasiada Estricción en la Programación?

El artículo del blog 'The Clean Code' explora una tendencia preocupante en el desarrollo de lenguajes de programación modernos, específicamente Swift y Kotlin. Ambos lenguajes, aunque con orígenes distintos (Swift derivado de Objective-C y Kotlin de Java), comparten una marcada inclinación hacia la

Juegos en C: El Regreso de un Lenguaje Clásico

Este artículo explica por qué un desarrollador elige usar el lenguaje de programación C para sus proyectos de juegos, una decisión inusual en la industria actual. El autor, con experiencia en desarrollo de juegos, detalla sus razones, que van más allá de la simple preferencia personal y se basan en