Noticias que mencionan C#

ArcadeMaker: un motor 2D open source con lenguaje e IDE propios

ArcadeMaker es un motor de juegos 2D multiplataforma y de código abierto que incorpora su propio lenguaje de programación —un prototipo bautizado como Exp— y un entorno de desarrollo integrado (IDE). El motor y el IDE están escritos en C#, pero los juegos se programan en el lenguaje Exp, no en C#. E

Implementar `nameOf` en Java introspeccionando el bytecode

El artículo muestra cómo reproducir en Java la expresión `nameof` de C#, que devuelve el nombre textual de un identificador para evitar duplicaciones en mensajes de validación. En lugar de añadir una característica al lenguaje, la propuesta se apoya exclusivamente en bibliotecas estándar: la API `St

Cómo codificar métodos guarded en OCaml con testigos de igualdad de tipos

Los métodos guarded permiten asociar restricciones al receptor (self) únicamente a métodos concretos, de modo que solo puedan invocarse cuando el receptor cumpla dichas restricciones. OCaml no admite esta construcción de forma nativa en su sintaxis, pero el artículo muestra cómo codificarla mediante

Tipos de prueba en Dart: clases finales como testigos computacionales

Los tipos de prueba, también conocidos como tipos testigo o de evidencia, son un patrón de programación en el que la mera existencia de un valor garantiza que un determinado cómputo se ha ejecutado. En Dart 3.0, este patrón se materializa combinando cuatro mecanismos: el modificador final, que impid

Los lenguajes de programación son herramientas de autoría para plataformas

Este ensayo sostiene que los lenguajes de programación deben entenderse, ante todo, como herramientas de autoría para plataformas, y no únicamente como productos académicos definidos por su paradigma o su sistema de tipos. La argumentación se organiza en torno a tres preguntas: por qué se crea un le

Cómo funciona el nuevo recolector de basura Green Tea de Go y por qué importa

Go 1.26 introdujo Green Tea como recolector de basura predeterminado, una evolución presentada originalmente en Go 1.25 que mejora la eficiencia de caché del proceso de limpieza de memoria. En Go, los objetos se agrupan por clases de tamaño dentro de fragmentos contiguos de páginas de 8 KiB, una téc

MemoryPack: serializador binario sin codificación para C# y Unity

MemoryPack es una biblioteca de serialización binaria para C# y Unity que prescinde de operaciones de codificación (VarInt, etiquetas, cadenas, etc.) y, en su lugar, copia directamente la memoria de los objetos de C#. Este enfoque, conocido como zero-encoding y similar al de FlatBuffers aunque sin r

Por qué log no es monótona en PHP y Lua: el caso base que rompe la intuición

Una falla silenciosa en la intuición matemática del cómputo En el mundo del software, una función tan aparentemente inocente como el logaritmo esconde trampas que rompen las expectativas más básicas de los programadores. Un análisis publicado por el desarrollador conocido como purplesyringa revela

Reflexiones sobre los tipos enteros en los lenguajes de programación

Este artículo analiza los sistemas de tipos enteros en los lenguajes de programación más extendidos y defiende el enfoque de Rust como modelo más riguroso. El autor repasa cómo C, C#, Go y Swift manejan los enteros: en C, el desbordamiento de enteros con signo es comportamiento indefinido y conviven

Slopo: detector de código duplicado mediante embeddings

Slopo es una herramienta de línea de comandos diseñada para localizar fragmentos de código similares que se encuentran dispersos dentro de un mismo proyecto, un tipo de duplicación especialmente difícil de identificar tanto para herramientas tradicionales como para la inspección manual. A diferencia

Voy retrasado con las novedades de C# 14: ¿importa realmente?

C# 14 llegó con novedades de sintaxis que la comunidad ha recibido con entusiasmo, desde las expresiones de colección hasta la palabra clave `field` y los nuevos modificadores de parámetros. Aun así, muchos desarrolladores —como relata el autor de este texto— mantienen en sus proyectos de producción

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

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

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

Por qué los atributos personalizados de .NET me dan pesadillas

Los atributos personalizados son una de las piezas más extendidas de los metadatos de .NET: permiten adjuntar información adicional a clases, métodos, campos y parámetros para que el compilador, los analizadores o los generadores de código actúen en consecuencia. Ejemplos clásicos son [Obsolete], qu

C# 16 redefine la seguridad de memoria con nuevas reglas en .NET 12.

Microsoft ha anunciado mejoras significativas en la seguridad de la memoria en C# a través de una nueva característica del lenguaje C# 16. El artículo, publicado en el blog oficial de .NET por Richard Lander, detalla cómo se rediseña la palabra clave unsafe. En lugar de solo marcar punteros, ahora e

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

El misterio de a++ + ++a: por qué el mismo código C da resultados diferentes

El contenido explora el comportamiento indefinido (UB) en expresiones C/C++ que combinan operadores de incremento pre (++a) y post (a++). El caso central analizado es a = a++ + ++a. Se demuestra teóricamente cómo existen múltiples posibilidades de evaluación: el orden de captura de valores y cuándo

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

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

Rust: Maximiza el potencial con menos esfuerzo

El autor ha estado buscando el lenguaje de programación perfecto durante años, frustrado por las limitaciones de opciones populares como F#, TypeScript y C#. Si bien Rust ofrece un gran potencial, su curva de aprendizaje y complejidad (relacionada con la gestión de memoria y el sistema de tipos) han

Doom corre en DNS: investigadores explotan registros

Investigadores han demostrado la posibilidad de ejecutar programas complejos, como el videojuego DOOM, dentro de registros TXT de DNS. Adam Rice, investigador, ha explorado la capacidad de almacenar datos arbitrarios en estos registros, originalmente diseñados para autenticación de correo electrónic

Foxguard: Escaneo de seguridad ultrarrápido para desarrolladores

PwnKit Labs ha lanzado Foxguard, una nueva herramienta de escaneo de seguridad local diseñada para ser extremadamente rápida, buscando solucionar la lentitud de los escáneres tradicionales que a menudo impiden su uso frecuente por parte de los desarrolladores. Foxguard completa un escaneo en tan sol

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

Typhon: Unifica motores de juego y bases de datos

Un nuevo motor de base de datos llamado Typhon ha sido desarrollado para abordar las limitaciones que surgen al integrar motores de juego y bases de datos tradicionales. Loïc Baumann, el creador, identificó que los motores de juego (que utilizan la arquitectura Entity-Component-System - ECS) y las b

C# 15: Novedosos 'union types' facilitan el desarrollo

Microsoft ha introducido los 'union types' en C# 15, disponibles a partir de .NET 11 Preview 2. Esta nueva característica, muy solicitada por la comunidad, permite declarar un valor como uno de un conjunto fijo de tipos, garantizando el 'pattern matching' exhaustivo y evitando problemas comunes al d

Desarrollador de OSS se une a Earendil tras éxito

Este artículo narra la decisión de un desarrollador, conocido por su trabajo en proyectos de código abierto (OSS) como libGDX y RoboVM, de unirse a Earendil y trabajar con 'pi', una pequeña herramienta de desarrollo que está ganando popularidad. La historia es una reflexión sobre su experiencia prev

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

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

Grafeo: nueva base de datos de grafos con IA y soporte multi-lenguaje

Grafeo, una nueva base de datos de grafos de alto rendimiento, ha sido lanzada por su desarrollador, S. T. Grond. Diseñada para ser rápida y eficiente, Grafeo supera a otras bases de datos en memoria en pruebas de rendimiento como el LDBC Social Network Benchmark, gracias a su núcleo escrito en Rust

IA: Lenguajes inesperados lideran benchmarks de código

Un nuevo análisis, basado en el benchmark AutoCodeBench, revela resultados sorprendentes sobre el rendimiento de diferentes lenguajes de programación con modelos de IA para codificación. Contrario a la expectativa de que los lenguajes con mayor cantidad de datos de entrenamiento (como JavaScript) se

qodo lidera en revisión de código, supera a claude

Qodo, una empresa especializada en inteligencia artificial, ha anunciado que su herramienta de revisión de código ha superado a Claude Code Review, el sistema multi-agente de Anthropic, en un benchmark propio. El 'Qodo Code Review Benchmark 1.0' evalúa la capacidad de las herramientas para detectar

Falla en Apache FOP evade seguridad de GhostScript

Investigadores de seguridad han descubierto una vulnerabilidad en la forma en que Apache FOP, un procesador de objetos de formato, genera archivos PostScript que luego son interpretados por GhostScript para crear archivos PDF. La falla permite a atacantes eludir la sandbox de GhostScript, diseñada p

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

MonoGame: Vulkan y DirectX 12 llegan en preview

El framework MonoGame, una reimplementación de código abierto del antiguo XNA Framework de Microsoft, ha anunciado la adición de soporte preliminar para Vulkan y DirectX 12. Esta actualización, disponible en la versión 3.8.5, amplía las opciones gráficas para los desarrolladores de juegos que utiliz

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

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

Perro 'codifica' juegos con ayuda de la IA

Este artículo describe un proyecto innovador donde el autor enseñó a su perro, Momo, a 'codificar' juegos utilizando inteligencia artificial. La idea surgió de un incidente divertido donde Momo accidentalmente generó código en el teclado del autor, lo que lo llevó a experimentar con la posibilidad d

Elixir impulsa la IA: un nuevo contendiente emerge

Un reciente artículo destaca cómo el lenguaje de programación Elixir, construido sobre la máquina virtual BEAM (originalmente desarrollada por Erlang en 1986), está ganando terreno en el desarrollo de inteligencia artificial, desafiando los marcos tradicionales basados en Python. Un estudio de Tence

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

Herramienta C# revive creación de CDs para Amiga

ISOCD-Win es una herramienta esencial para aquellos que desarrollan software para las consolas Amiga CD32 y CDTV. Para entender su importancia, primero debemos comprender el contexto: estas consolas, lanzadas en la década de 1990, utilizaban discos ópticos (CD-ROMs) para distribuir juegos y aplicaci

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

Claude Code: 6 meses de uso y el setup ideal

Este video de The Coder Cave explora una configuración optimizada para trabajar con Claude Code, un modelo de lenguaje de inteligencia artificial desarrollado por Anthropic, tras seis meses de uso intensivo. El objetivo principal es maximizar la productividad y minimizar el consumo de tokens (la uni