C# es un lenguaje de programación multiparadigma y multiplataforma diseñado y desarrollado por Anders Hejlsberg en Microsoft en el año 2000 para ser incluído en .NET Framework. Actualmente es de código abierto.
Veamos un breve repaso por algunas de sus características mas importantes implementadas en cada versión desde C#1 hasta la más reciente a día de hoy que es la 12.
La sintaxis básica de C# deriva de C++, también tiene influencias de Java, Pascal, Eiffel y Modula-3.
El símbolo ++ en programación indica un aumento a algo o incremento, es así que C++ recibió ese nombre usando la lógica que es una evolución de C. Siguiendo esa misma lógica C# se llamó así como una metáfora para denotar que es una evolución de C++.
A continuación iremos revisando las características principales de cada versión, no ahondaremos en los detalles sin embargo ya conociendo estos cambios podrás profundizar en la característica que más te interese. También al final te dejaré un link de la documentación oficial en donde sí que podrás revisar detalle a detalle cada característica de todas las versiones.
Su evolución
- C# 1
Es la versión original directamente diseñada por su creador Anders Hejlsberg y fue publicada en enero del 2002 junto con Visual Studio .NET 2002. Entre sus características originales destacan aquellas propias del paradigma orientado a objetos, así como los atributos, delegados y los eventos.
- C# 1.2
Aquí se incluyeron algunas pequeñas mejoras del lenguaje como el método Dispose. Fue publicado en abril del 2003 junto con Visual Studio .NET 2003.
- C# 2
Lanzada en 2005 junto a Visual Studio 2005, aquí destaca la aparición de los Generics, los métodos anónimos, delegados, iteradores y los tipo de datos nullables.
- C# 3
Apareció en noviembre del 2007 junto con Visual Studio 2008. Sin embargo las características de esta versión llegaron en su totalidad junto con .NET Framework 3.5 la cual fue una versión histórica por sus grandes cambios y mejoras implementadas en el lenguaje. Entre sus características más resaltantes tenemos: Implementación automática de propiedades, tipos anónimos, expresiones lambda, métodos de extensión, métodos parciales y árboles de expresión.
- C# 4
Publicado en abril del 2010 junto con Visual Studio 2010. En sus características más sobresalientes tenemos: métodos opcionales y con nombre, enlace dinámico, covariante y contravariante de genéricos y tipos de interoperabilidad insertados.
- C# 5
Publicado en agosto del 2012 junto con Visual Studio 2012. Aquí se añadió el soporte a la programación asíncrona al lenguaje con el uso de async y await.
- C# 6
Publicada en julio del 2015 con el lanzamiento de Visual Studio 2015. Aquí se enfocaron en añadir características de productividad al lenguaje con características como: importaciones estáticas, filtros de excepciones, inicializadores de propiedades automáticas, interpolacion de cadenas y el operador nameof.
- C# 7
Publicada en marzo del 2017 junto a Visual Studio 2017. En esta oportunidad se añadieron las tuplas y las variables out y las funciones locales. Entre 2017 y 2018 se lanzaron también las versiones 7.1, 7.2 y 7.3 con algunas mejoras menores.
- C# 8
Lanzada en setiembre del 2019. Es la primera version desarrollada para .NET Core. Entre sus características destacan: miembros de sólo lectura, métodos de interfaz predeterminados, secuencias asincrónicas, índices y rangos, tipos construídos no administrados y mejoras en la interpolación de cadenas.
- C# 9
Lanzada en noviembre del 2020 junto con la version .NET 5, creó los records los cuales son un tipo de estructura de datos que proporciona una forma conveniente de definir tipos de datos inmutables (en algunas circunstancias pueden reemplazar a una clase), instrucciones de nivel superior, mejoras en rendimiento e interoperabilidad, mejoras de coincidencia de patrones y el Target-typed new
expressions con el cual puedes crear un objeto con la palabra reservada new sin especificar el tipo.
- C# 10
Lanzada en noviembre del 2021 con .NET 6 y destacan aquí los structs de registro, mejoras de tipo de estructura, directivas using globales, namespace con ámbito de archivo, mejoras en expresiones lambda y el atributo CallerArgumentExpression.
- C# 11
Publicada en noviembre del 2022 junto con .NET 7, aquí tenemos atributos genéricos, patrones de lista, miembros requeridos, structs predeterminados automáticos y campos ref y scoped ref.
- C# 12
Publicada en noviembre de 2023 incluída en .NET 8 lanzado también ese mismo mes. En esta nueva version del lenguaje destacan: constructores primarios o principales, expresiones de collección, patrones opcionales lambda e inline arrays.
En este artículo oficial puedes ver el detalle de cada versión de C# 😉
Si esta entrada te ha gustado, compártela crack! ✌️
Créditos imagen de portada: Foto de Nastya Dulhiier en Unsplash
Un comentario en «Historia y evolución del lenguaje C#»