YoProgramo.NET Blog
Anotaciones de Programador

Dynamic C#4

Microsoft acababa de lanzar Visual Studio 2010. Con él se vienen, nuevos e importantes cambios. Algunos cambios incluidos en el nuevo Framework .NET 4.0 están modificando el paradigma para los programadores.

De las nuevas características, la más llamativa sin lugar a dudas se halla en el  factor dinámico. Microsoft incluyó al framework un nuevo tipo denominado “dynamic”, buscando aliviar el trabajo de los programadores.

Con la programación dinámica muchas de las cosas que anteriormente se realizaban en tiempo de compilación, se podrán hacer en tiempo de ejecución. Esto puede ser muy práctico para escribir código, dado que no necesitaremos programar basados en tipos de objetos, sino más bien basándonos en el comportamiento de los mismos.

Sólo mira el siguiente código y podrás entender en qué consiste dynamic.

dynamic e = 1;
e.Prueba();

int w = e + 2;

Console.Write(e);
Console.Write(w);

En la línea 1, creamos un objeto dynamic. En la siguiente línea, llamamos a un método Prueba(), el cual el compilador lo pasará por alto. De este modo, aunque te parezca extraño, este código compila sin errores. Pero cuando ejecutemos la aplicación, lanzará una excepción en tiempo de ejecución, porque el tipo Int no expone un método llamado “Prueba”.

Por eso es importante diferenciar las cosas que se realizan en tiempo de compilación y cuales en tiempo de ejecución. Los objetos dynamic tienen una particularidad, todas sus propiedades y comportamientos se resolverán en tiempo de ejecución.

Lo malo de la programación dinámica:

Todas las ventajas que observamos en la programación dinámica pueden ser favorables, aunque también tiene su lado negativo.  Una aplicación que lance excepciones en tiempo de ejecución arroja un grado de incertidumbre para el comportamiento de la misma. También debemos olvidarnos de algunas características de los lenguajes estáticos como por ejemplo: Herramientas Intellisense, performance y el escalamiento de las aplicaciones.

DLR

Para que la programación dinámica sea posible, Microsoft incorporó una importante capa más sobre el CLR, a la que llamó DLR.

El DLR está encargado del enlace dinámico y de suministrar un medio o soporte común para la comunicación entre distintos lenguajes como C#, VB, IronPyton, IronRuby, etc.

Es un complemento al CLR y por lo tanto no lo suplanta.  El DLR se trata de un set o conjuntos de dlls, librerías, etc. que se ubican sobre el CLR, haciendo de puente entre los lenguajes dinámicos y proporcionando un marco en tiempo de ejecución para los lenguajes y un punto de enlace entre lenguajes estáticos y no estáticos.

June 25, 2010 03:52 by fabianfigueredo
Categorías: C#

Comments

June 25. 2010 08:18 topsy.com
pingback
Pingback from topsy.com

Twitter Trackbacks for
        
        Dynamic C#4
        [yoprogramo.net]
        on Topsy.com

Add comment


(Will show your Gravatar icon)

biuquote
Loading