Cómo funciona .NET

Cómo funciona .NET

En este esquema podemos ver, a grandes rasgos, como funciona .NET, y en su defecto, C#.

Imagen 0 en Cómo funciona .NET

En la imagen podemos ver que el proceso se compone de varios pasos.

  • Primero se construye con MSBuild el lenguaje que hayamos programado, ya sea una solución, un proyecto de C#, un proyecto de Visual Basic, un proyecto de F#, etc.
  • El mismo pasará al compilador de .NET, que actualmente es Roslyn, o en su defecto el de F# si fuera el caso.
  • Después se obtiene un ejecutable (.EXE), un DLL si es una librería o lo que tengamos especificado a la hora de compilar.

Cuando ejecutamos este código vamos a obtener el lenguaje intermedio (IL), que es un lenguaje, que se parece mucho a una especie de ensamblador, que crea .NET para tener una identificación del código que hemos aplicado ya en alto nivel. Se podría asemejar al Bytecode de Java.

  • El mismo pasará a Common Language Runtime (CLR), que es la especificación de .NET de la máquina virtual.

.NET es un lenguaje que se ejecuta y se lanza en Runtime, con lo cual tendríamos un compilador JIT, es decir, que se va ejecutando y compilando en el tiempo, a diferencia de otros compiladores como el de C, que son compiladores AOT, en los que se compila inicialmente y después se ejecuta.

  • Finalmente se convierte a código nativo, es decir, en código ensamblador, y el mismo pasa a código binario.
  • Entre medio de toda esa máquina virtual vamos a tener, como en muchos lenguajes de alto nivel, un garbage collector, es decir, no nos vamos a tener que preocupar en la liberación de memoria ni en que algo que se haya quedado colgado.

Aunque siempre puede ocurrir algún problema cuando no gestionamos bien ese código, y el garbage collector desconoce si tiene que eliminar algo o no, lo que ocurre en todos los lenguajes que tienen este sistema.

Si quieres ampliar tus conocimientos de C# puedes hacer este curso inicial de C# de nuestro profesor José Manuel Montero.

curso-c-principiante

Recuerda que puedes comenzar este curso con tu suscripción en OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

También te puede interesar...

Lenguajes de Programación

Por qué aprender C#

28 Enero 2019 José Manuel Montero Ortega
Lenguajes de Programación

Performance C# VS JAVA

30 Enero 2019 José Manuel Montero Ortega

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información.