C++
software · 59 menciones
Noticias que mencionan C++
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
