C# (pronunciado "see sharp") es un lenguaje de programación de informática desarrollado por Microsoft. Fue diseñado para aprovechar todas las capacidades de la plataforma .NET y facilitar la creación de aplicaciones seguras, mantenibles y de alto rendimiento. La primera versión fue lanzada en 2001 y, desde entonces, el lenguaje ha evolucionado continuamente. El equipo de desarrollo de C# está dirigido por Anders Hejlsberg, conocido por su trabajo previo en Delphi.

Características principales

  • Tipado estático y seguridad de tipos: C# es un lenguaje fuertemente tipado que detecta muchos errores en tiempo de compilación.
  • Orientado a objetos: soporta clases, herencia, interfaces, polimorfismo y delegados.
  • Gestión automática de memoria: recolector de basura (garbage collector) para evitar fugas de memoria comunes en lenguajes no gestionados.
  • Generics: permiten escribir código reutilizable y seguro para tipos.
  • LINQ (Language Integrated Query): consulta integrada para colecciones y orígenes de datos de forma declarativa.
  • Programación asíncrona: async/await simplifica la escritura de código no bloqueante.
  • Pattern matching y records: facilitan el trabajo con datos inmutables y la escritura de código más expresivo.
  • Interop y multiplataforma: con .NET Core / .NET moderno, C# es multiplataforma (Windows, Linux, macOS) y tiene buena interoperabilidad con código nativo y bibliotecas existentes.

Historia y versiones

Desde su aparición en 2001, C# ha recibido mejoras importantes en cada versión. Después de C# 8.0 (lanzada en 2019), el lenguaje continuó su evolución con versiones posteriores que añadieron características como records, top-level statements, mejoras en patrones, rendimiento y soporte para programación funcional. Entre las versiones posteriores destacan C# 9.0 (2020), C# 10.0 (2021) y C# 11.0 (2022). El lenguaje sigue en desarrollo y recibe nuevas mejoras junto con las versiones de la plataforma .NET.

Ecosistema y usos comunes

  • Aplicaciones web: ASP.NET Core para APIs REST, aplicaciones web y servidores de alto rendimiento.
  • Aplicaciones de escritorio: WinForms, WPF y .NET MAUI para interfaces nativas.
  • Desarrollo móvil: Xamarin y .NET MAUI permiten crear apps para iOS y Android con C#.
  • Videojuegos: Unity utiliza C# ampliamente para scripting y lógica de juego.
  • Cloud y microservicios: integración con Azure, contenedores y arquitecturas distribuidas.
  • IoT y edge computing: dispositivos y escenarios con recursos limitados usando .NET.

Herramientas y compilación

  • Compilador Roslyn: compilador de código abierto que también proporciona análisis y refactorización.
  • dotnet CLI: herramientas de línea de comandos para crear, compilar y publicar proyectos .NET.
  • Entornos de desarrollo: Visual Studio (Windows/macOS), Visual Studio Code + extensiones, JetBrains Rider, entre otros.

Ejemplo básico

Ejemplo moderno con declaraciones de nivel superior (C# 9+):

using System;  Console.WriteLine("Hola, mundo desde C#!"); 

Ejemplo clásico con clase Program:

using System;  class Program {     static void Main()     {         Console.WriteLine("Hola, mundo desde C#!");     } } 

Por qué elegir C#

  • Productividad: sintaxis clara, herramientas maduras y gran ecosistema de bibliotecas.
  • Rendimiento: mejoras constantes en el runtime de .NET y optimizaciones del compilador.
  • Comunidad y soporte: amplia documentación, cursos, paquetes NuGet y soporte empresarial.

En resumen, C# es un lenguaje moderno, versátil y continuo en evolución que sirve tanto para proyectos pequeños como para sistemas empresariales a gran escala. Si buscas un lenguaje con fuerte integración con .NET, buenas herramientas y un ecosistema consolidado, C# es una opción robusta.