Lenguaje de Programación C# – Introducción

1. Historia y Origen de C#

Antecedentes

A finales de los años 90, Microsoft quería un lenguaje moderno que compitiera con Java y fuera la base de su plataforma .NET

La necesidad surgió porque Java, bajo el control de Sun Microsystems, comenzó a limitar la capacidad de Microsoft para extenderlo en su plataforma Windows.

Desarrollo de C#

C# fue diseñado principalmente por Anders Hejlsberg, un reconocido ingeniero de software que previamente trabajó en lenguajes como Turbo Pascal y fue el arquitecto principal de Delphi.

El lenguaje fue inicialmente llamado «Cool» (C-like Object Oriented Language). Sin embargo, Microsoft cambió el nombre antes del lanzamiento oficial para evitar problemas de marca.

Lanzamiento

La primera versión de C# (1.0) fue lanzada en el año 2002 junto con el .NET Framework 1.0.

Desde su lanzamiento, C# ha evolucionado con nuevas características que lo han hecho altamente competitivo y adaptable.

Hitos y Evolución

C# 1.0 (2002): Introdujo las bases del lenguaje, como clases, métodos, excepciones y manejo básico de tipos.

C# 2.0 (2005): Incorporó genéricos, iteradores (yield) y tipos nulos (Nullable).

C# 3.0 (2007): Introdujo LINQ (Language Integrated Query), expresiones lambda y propiedades automáticas.

C# 5.0 (2012): Añadió soporte para programación asíncrona con async y await.

C# 8.0 (2019): Agregó switch avanzado, tipos de referencia nulos y flujos asíncronos.

C# 12 (2023): Mejoras en programación funcional y soporte adicional para programación moderna.

Curiosidades sobre C#

Origen del nombre

Existen varias teorías sobre el origen del nombre:

La letra «C» se debe a que C# está basado en su mayoría en la estructura de C y C++.

Una teoría del # proviene de la notación musical, donde representa un semitono más alto (sharp). Este simbolismo indica que C# es una evolución del lenguaje C.

Otra teoría indica que «C#» proviene de la convergencia de 4 veces ++++ formando el símbolo # indicando también que es mucho mejor que C++

Un lenguaje «seguro»

Diseñado con características para evitar errores comunes, como la administración automática de memoria (garbage collection) y la protección contra desbordamiento de búfer.

El competidor de Java

Desde sus inicios, C# fue visto como un «Java de Microsoft» debido a sus similitudes iniciales con este lenguaje

Características Principales de C#

Multiparadigma

Una de las principales características de C# es que soporta diferentes estilos de programación, incluyendo programación orientada a objetos (POO).

Manejo automático de memoria

Con garbage collection, C# libera automáticamente la memoria no utilizada, reduciendo errores de manejo manual de memoria.

Seguridad de tipos

C# es un lenguaje fuertemente tipado, lo que ayuda a prevenir errores al obligar al programador a definir y respetar los tipos de datos.

Compatibilidad con .NET

C# está profundamente integrado con la plataforma .NET, lo que permite desarrollar aplicaciones fácilmente escalables, portables y seguras.

Modernidad

Incluye características avanzadas como expresiones lambda, programación asíncrona, LINQ y tipos inmutables.

Ventajas de Aprender C#

Con herramientas como Visual Studio, Azure y el .NET Framework/Core, ofrece un entorno poderoso para el desarrollo. Al ser uno de los lenguajes más utilizados, cuenta con una comunidad global que ofrece soporte, librerías y frameworks.

Tabla comparativa con Lenguajes populares.

Con C# puedes desenvolverte en el desarrollo de:

Desarrollo de aplicaciones de escritorio: Utilizando Windows Forms, WPF o UWP.

Desarrollo web: Con frameworks como ASP.NET para crear aplicaciones dinámicas y servicios REST.

Videojuegos: Principal lenguaje para Unity, una de las plataformas más populares para desarrollo de videojuegos.

Inteligencia Artificial y Machine Learning: Con ML.NET, se pueden desarrollar aplicaciones basadas en aprendizaje automático.