Cuando mis alumnos comienzan a programar en Visual C++ .NET, ellos generalmente tratan de programarlo como si estuviesen en un ambiente como Microsoft C++ v6.0 o Borland C++, sin embargo se topan con muchos problemas, debido a que Visual C++ .NET funciona de otra forma.
En Visual C++ .NET puedes escribir dos tipos de código, Administrado (Managed Mode) o NO Administrado (Unmanaged Mode). ¿Cuál es la diferencia?
Todo aquel código que se basa en el CLR es Managed, es decir cuando todo tu código se apega a los mecanismos del CLR entonces tu código va a gozar de todos los beneficios que .NET brinda como recolección de basura, uso de clases estándares para cualquier lenguaje, seguridad entre muchas otros.
Entonces podemos pensar que el Managed mode es finalmente la dirección pero para qué entonces sirve programar en Unmanaged Mode. Bueno, en realidad yo veo dos posibles respuestas (claro que pueden haber más), una de ellas es que es una visión natural de .NET, todo lo que no es .NET entonces se convierte en NO DOTNET o lo que es lo mismo Unmanaged, así para que un proyecto .NET pueda convivir con un proyecto anterior debe saber tratar proyectos Unmanaged. La otra es porqué considero que el Unmanaged mode debe ser mucho más poderoso que el Managed para hacer algunas cosas que solo se puede hacer desde afuera, como modificar el CLR por ejemplo. Creo que el Unmanaged mode va a pasar a ser una especie de lenguaje ensamblador, es decir un As bajo la manga. Cuando algo no se pueda hacer en CLR (aunque esto para Microsoft parece difícil de creer), podemos siempre recurrir al Unmanaged Mode y brincarnos a .NET. Supongo que debería estar bien justificado antes de meterte en líos… En fin.
Así bien, en este taller me voy a enfocar en el managed mode, por lo que me voy a orientar a enseñarles a utilizar VC++ pero siempre basado en CLR. Considero que es un muy buen inicio.
Finalmente dos cosas: La primera: les recomiendo un tutorial (muy bueno por cierto) sobre CLR que explica muchas cosas que aquí no he explicado a profundidad.
http://www.theserverside.net/tt/articles/showarticle.tss?id=DM_CLR
La segunda, si estas interesado en utilizar mixed-mode (es decir manager y unmanaged al mismo tiempo) puedes consultar el foro http://www.thescripts.com/forum/thread263218.html en donde se tratan algunas inquietudes sobre el mismo. Como podrás ver, transparente no es, pero si quieres que tus aplicaciones .NET platiquen con las anteriores creo que no queda de otra.
Saludos… Luis Sánchez
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario