C# pronunciado como “See Sharp” es un moderno lenguaje de programación orientado a objetos desarrollado por Microsoft y lanzado en el año 200.

Este permite a los desarrolladores construir aplicaciones robustas y seguras que se ejecutan en el ecosistema de .NET. Este lenguaje tiene sus raíces en lenguajes de la familia C y es muy familiar a C, C++, Java y JavaScript e incluye mejoras derivadas de estos lenguajes.

Gracias a Mono, se pueden crear programas multiplataforma utilizando C# y estos serán capaces de correr tanto en Windows como en Linux, Android e incluso MacOS entro otros.

Es un lenguaje orientado a objetos y a componentes, proporciona construcciones de lenguaje para respaldar directamente estos conceptos, lo que lo convierte en un lenguaje natural para crear y usar componentes de software.  Sus características permiten crear aplicaciones solidas y duraderas, entre ellas tenemos:

  • Garbage Collector que recupera automáticamente la memoria ocupada por objetos inaccesibles no utilizados.
  • Exception Hadling que provee un enfoque estructurado y extensible para la detección y recuperación de errores.
  • Lambda Expressions para admitir técnicas de programación funcional.
  • LINQ que crea un patrón común para trabajar con datos de cualquier fuente.
  • Entre muchas otras más.

Además, C# enfatiza el control de versiones para garantizar que los programas y las bibliotecas puedan evolucionar de manera compatible.

Como se mencionó los programas de C# se ejecutan en .NET, un sistema de ejecución virtual llamado Common Languaje Runtime (CLR) y un conjunto de bibliotecas de clases. El CLR es la implementación de la infraestructura de lenguaje común CLI que es la base para crear entornos de ejecución y desarrollo en los que los lenguajes y las bibliotecas funcionan juntos sin problemas.

Cómo funciona

El código fuente escrito en C# se compila en un lenguaje intermedio IL que cumple con la especificación CLI. El código y los recursos de IL se almacenan en un ensamblado de extensión .dll.

Cuando se ejecuta el programa, el ensamblado se carga en CLR, el cual realiza la compilación Just-In-Time (JIT) para convertir el código IL en instrucciones nativas para la máquina.

Interoperabilidad

El código IL producido por el compilador de C# cumple con la especificación de tipo común (CTS), lo que significa que este código IL es capaz de interactuar con las versiones .NET de F#, VB, C++ o cualquiera de los mas de 20 lenguajes compatibles con CTS. Un ensamblado puede contener varios módulos escritos en diferentes lenguajes .NET y se pueden referir entre sí como si estuvieran escritos en el mismo lenguaje.

Tipos y variables

En C# hay dos clases de tipos, tipos de valor y tipos de referencia. Las variables de tipos de valor contienen directamente sus datos. Las variables de tipos de referencia almacenan referencias a sus datos, conocidos como objetos.

Cuando se trabaja con variables por referencia es posible que al tener dos variables que hagan referencia al mismo objeto, las operaciones realizadas a una variable afecten a la otra. Cosa que no sucede en las variables por valor que tienen su propia copia de los datos y las operaciones no afectan a otras variables.

Para concluir C# es un lenguaje fuertemente tipado, lo que significa que una variable declarada con un tipo en concreto no puede admitir valores de otro tipo de dato. Te invitamos a seguir aprendiendo sobre este lenguaje siguiéndonos y contribuyendo a este sitio.

Documentación relacionada:

 

Soy Ingeniero en Sistemas Computacionales, desarrollador .NET Jr y Co-fundador de C# Spot.NET. Me agrada compartir lo poco que sé, creo que ser aceptable no es suficiente, debes ser sobresaliente.