El
Framework de .NET es
una solución a toda la problemática en torno al desarrollo
de
aplicaciones, brinda grandes beneficios no solamente al desarrollador, sino
también
al proceso de desarrollo. En primer lugar .NET permite trabajar con
código
ya existente, podemos hacer uso de los componentes COM, e incluso, si lo
necesitáramos
usar el API de Windows. Cuando el programa .NET está listo es mucho
más
fácil de instalar en la computadora de los clientes, que las aplicaciones
tradicionales
ya
que se tiene una integración fuerte entre los lenguajes.
Un
programador de C# puede entender fácilmente el código de un programador de
Visual
Basic .NET y ambos pueden programar en el lenguaje con el que se sienten
más
cómodos. Esto se debe a que todos los lenguajes que hacen uso de .NET comparten
las
librerías de .NET, por lo que no importa en qué lenguaje programemos,
las
reconocemos en cualquiera. A continuación conoceremos los diferentes
componentes
de
.NET: CLR,
assembly y CIL.
CLR
El
primer componente de .NET que conoceremos es el Common Language
Runtime, también
denominado CLR.
Este es un programa de ejecución común a
todos
los lenguajes. Este programa se encarga de leer el código generado por el
compilador
y
empieza su ejecución. Sin importar si el programa fue creado con C#,
con
Visual Basic .NET o algún otro lenguaje de .NET el CLR lo lee y ejecuta.
Assembly
Cuando
tenemos un programa escrito en un lenguaje de .NET y lo compilamos se genera
el
assembly.
El assembly contiene el programa compilado en lo que conocemos
como
CIL y también información sobre todos los tipos que se utilizan en el programa.
CIL
Los
programas de .NET no se compilan directamente en código ensamblador del
compilador,
en su lugar son compilados a un lenguaje intermedio conocido como
CIL.
Este lenguaje es leído y ejecutado por el runtime. El uso del CIL y el runtime
es
lo que le da a .NET su gran flexibilidad y su capacidad de ser multiplataforma.
Breve
historia de la programación para Windows
www.redusers.com
15
El
Framework de .NET tiene lo que se conoce como las especificaciones comunes de
lenguaje o CLS por sus siglas en inglés, estas
especificaciones son las guías que cualquier
lenguaje
que desee usar .NET debe de cumplir para poder trabajar con el runtime.
Una
ventaja de esto es que si nuestro código cumple con las CLS podemos tener
interoperabilidad
con otros lenguajes, por ejemplo, es posible crear una librería en C#
y
un programador de Visual Basic .NET puede utilizarla sin ningún problema.
Uno
de los puntos más importantes de estás guías es el CTS o sistema
de tipos
comunes. En los
lenguajes de programación, cuando deseamos guardar información,
ésta
se coloca en una variable, las variables van a tener un tipo dependiendo
del
la información a guardar, por ejemplo, el tipo puede ser para guardar un número
entero,
otro para guardar un número con decimales y otro para guardar una
frase
o palabra. El problema con esto es que cada lenguaje guarda la información
de
manera diferente, algunos lenguajes guardan los enteros con 16 bits de memoria
y
otros con 32 bits;
incluso algunos lenguajes como C y C++ no tienen un tipo
para
guardar las cadenas o
frases.
Para
solucionar esto el Framework de .NET define por medio del CTS cómo van
a
funcionar los tipos en su entorno. Cualquier lenguaje que trabaje con .NET debe
de
usar los tipos tal y como se señalan en el CTS. Ahora que ya conocemos los
conceptos
básicos, podemos ver cómo es que todo esto se une.