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

Fuentes: Improving C# Memory Safety - .NET Blog
C# 16 redefine la seguridad de memoria con nuevas reglas en .NET 12.
Imagen generada con IA

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 encapsulará cualquier código que interactúe con la memoria de forma insegura para el compilador. Esta nueva sintaxis se lanzará como preview en .NET 11 y como producción en .NET 12. El objetivo es hacer visibles los contratos de seguridad en lugar de depender de convenciones implícitas. Esto es relevante porque la seguridad de la memoria es una prioridad creciente en la industria y el gobierno, especialmente con la escalabilidad de la generación de código asistida por IA. El modelo propuesto incluye bloques internos unsafe, propagación de obligaciones de seguridad, documentación formal y supresión en los límites entre código seguro e inseguro. El compilador no puede verificar todo, pero obliga a los desarrolladores a articular y honrar estos límites formalmente. C# 16 sigue el camino de Rust y Swift, aplicando unsafe uniformemente en las bibliotecas del .NET runtime. El modelo establece fuertes barreras de seguridad visibles y revisables, crucial para reducir vulnerabilidades en software moderno.