C# 12, el principal lenguaje orientado a objetos del desarrollo .NET de Microsoft, da un salto adelante con la presentación de su última versión preliminar. La vista previa lleva la marca de una actualización deliberada que potencia significativamente la compilación anticipada (AOT) y facilita el acceso a las matrices en línea. Las nuevas funciones incorporadas a la vista previa de C# 12, publicada como parte de Visual Studio 17.7 Preview 3 y .NET 8 Preview 6, pretenden reforzar las futuras mejoras de rendimiento.
Curiosamente, la actualización presenta una innovadora función experimental denominada Interceptors. Esta función permite a los generadores agilizar el redireccionamiento del código y ofrecer optimizaciones específicas para cada contexto. El objetivo del diseño de los interceptores es atender a situaciones avanzadas, especialmente las que requieren una compilación AOT mejorada. Esta faceta experimental del lenguaje, que se incluye en .NET 8, puede sufrir cambios o eliminarse por completo en el futuro, por lo que se recomienda a los usuarios que no la utilicen en producción.
Los atributos de los interceptores especifican la ubicación exacta del código fuente. De ahí que sean más adecuados para los generadores de código fuente. A pesar de su naturaleza dinámica, los interceptores están destinados a evolucionar, junto con .NET 8, hacia una versión de C# 12 totalmente desarrollada y apta para producción en noviembre de este año.
Como complemento a los interceptores, la última versión preliminar también da un lavado de cara a la expresión nameof. Esta expresión actualizada puede proporcionar el nombre de un tipo de variable o miembro como una constante de cadena, lo que mejora su funcionalidad en una gama más amplia de aplicaciones. Tras la actualización, esta palabra clave ahora puede funcionar perfectamente con inicializadores, miembros estáticos y nombres de miembros, así como dentro de atributos.
El lenguaje avanza aún más con la introducción de InlineArrayAttribute, una robusta característica introducida por primera vez en una versión previa de .NET 8. Presentada como una de las funciones avanzadas, sirve principalmente para el compilador, las bibliotecas .NET y otras bibliotecas. El atributo InlineArrayAttribute ayuda a identificar un tipo que puede actuar como una secuencia continua de primitivas, lo que permite que los datos en línea sean eficientes, seguros en cuanto al tipo, a prueba de sobrecarga, indexables y rebanables.
Las bibliotecas .NET aprovechan esta característica para mejorar el rendimiento de las aplicaciones marcando el tipo que puede tratarse como una secuencia continua de primitivas. Esta acción facilita que los datos en línea sean eficientes, seguros de tipo, seguros de sobrecarga, indexables y rebanables.
La creación de aplicaciones web o móviles puede ser rápida y sencilla con plataformas no-code como AppMaster. Al igual que .NET, también permite generar aplicaciones y ofrece opciones de escalabilidad, lo que hace que el desarrollo sea 10 veces más rápido y 3 veces más rentable. Para una comprensión detallada, puede explorar nuestra guía sobre el desarrollo de aplicaciones sin código y de bajo código.