
El .NET Framework surge como una alternativa de solución para los desarrolladores, brindando beneficios durante el proceso de desarrollo de software.
El ,NET Framwork nos va a brindar la posibilidad de trabajar con con código ya existente, también cabe mencionar que nos permite trabajar con COM+, y de hecho también con el API de Windows.
Cabe mencionar que con el .NET es más sencillo instalar proyectos en las computadoras de los clientes que las aplicaciones tradicionales (porque ya no vamos a necesitar estar registrando todos aquellos componentes que utilizabamos en los proyectos) ya que se tiene también una gran integración con diversos lenguajes de programación.

Algo que permite .NET es que es muy sencillo entender facilmente el código tanto de un colega desarrollador de VB.NET y uno de C# (también es sencillo irnos empapando de los dos lenguajes), dando la oportunidad a los desarrolladores de programar con el lenguaje que se sientan más comodos.
Pero aquí es donde viene la primera pregunta… ¿Cómo es posible programar en diversos lenguajes y que sean entendidos por el .NET Framework? Esto se debe a que el .NET Framework comparten librerías de .NET, por eso no es importante en que lenguaje desarrollemos, siempre y cuando sea soportado por el CLR, el cual explicaré a continuación.
Existen diversos componentes dentro del .NET y los cuales debemos de aprender cuales son y para que sirven: CLR, Assembly y CIL.

CLR: Uno de los componentes principales del .NET Framework es lo que se conoce como CLR (Common Languaje Runtime). Su función es leer aquél código generado por el compilador y ejecutarlo, sin tomar en cuenta si el software fue desarrollador en el lenguaje de programación C# o VB.NET, o cualquier otro, siempre lo va a ejecutar.
Assembly: Es el resultado que tenemos al compilar un programa escrito en un lenguaje .NET. También cabe mencionar que el assembly está compilado en lo que conocemos como CIL.
CIL: Para entender que es el CIL, lo explicaré de la siguiente manera. Los programas que realizamos en .NET en realidad no se compilan en lenguaje ensablador, sino en un lenguaje intermedio que se conoce como CIL, el cual es ejecutado y leído por el famoso runtime. Hay que tomar en consideración que lo que le da la flexibilidad y la capacidad de interoperabilidad (o multiplataforma) es el uso del CIL y el runtime.
En la próxima entrada, estaré explicando acerca de lo que son las especificaciones comunes del lenguaje y otros puntos importantes.
Espero que estos conceptos sean de utilidades para ustedes.
Samuel Arellano