• El Professional Developer Conference (PDC) es un evento anual que organiza Microsoft desde 1991 para la comunidad de desarrolladores y arquitectos de TI. Es una estupenda oportunidad para obtener una perspectiva completa del futuro en las tecnologías Microsoft, acceder a nuevos recursos y compartir experiencias con ingenieros de la compañía y con otros profesionales del sector.


  • Los Centros de Innovación son una iniciativa promovida por Microsoft en colaboración con sus socios de negocio y los gobiernos autonómicos para impulsar la innovación local y el desarrollo de la industria del software. En España existen actualmente cinco centros (Cataluña, Navarra, Castilla y León, Cantabria y Aragón) y tres más se inaugurarán próximamente (dos en el País Vasco y uno en Baleares).

C# 4.0…el futuro ya está aquí!

De nuevo desde el Convention Center de Los Ángeles, y después de la conmoción que ha despertado el lanzamiento de Microsoft Windows Azure, ahora le toca el turno a la nueva versión de C # (ya vamos por la 4.0) y a la conferencia que sobre esta nueva versión ha dado un genial Anders Hejlsberg (Technical fellow en Microsoft, uno de los padres de la criatura y arquitecto principal). Tras una pequeña introducción sobre la evolución de C #, y antes de dejar encandilada a la audiencia, Anders ha realizado un pequeño repaso de las tendencias actuales en cuanto a lenguajes de programación:

  • Programación más declarativa.
  • Programación dinámica.
  • Programación concurrente (multicore), ya que como todos sabéis, la tendencia actual (una vez que la ley de Moore podemos decir que se ha parado) es añadir más y más procesadores…¿Cómo construimos aplicaciones para este nuevo escenario en el que la concurrencia es necesaria? En plataforma .NET la respuesta la tenemos en las Parallel Extensions para .NET, que formarán parte de la nueva versión de Visual Studio (VS 2010) y de .NET Framework (4.0).

068 

Después de esta introducción, Anders pasó a detallarnos las principales novedades de C # 4.0. Estas son las que os resumo y detallo a continuación.

Programación Dinámica

Para ello,  C# tendrá una serie de características dinámicas que permitan esta programación dinámica:

  • Objetos tipados de manera dinámica. La clave estará en una nueva palabra clave que aparece en escena: dynamic.
  • Mejorada la interoperabilidad COM.
  • Optinal and named parameters.
  • Co-and Contra-Variance.

Tendremos un nuevo runtime para C# 4.0 que nos habilitará esta programación dinámica sobre la base de innovaciones ya existentes como los árboles de expresión y las expresiones lambda de C# 3.0, pero añadiendo nuevas innovaciones:

  • Dynamic trees.
  • Dynamic Dispatch invocer.
  • Call Site Caching.

Sobre este nuevo runtime, tendremos los lenguajes de programación tradicionales de .NET, C# y VB.NET, pero también lenguajes dinámicos como IronRuby y IronPhyton, y por supuesto cualquier otro lenguaje que cumpla la correspondiente CLS (Common Language Specification). Pero además, podremos hacer desde cualquier lenguaje comentado un binding con otro de los lenguajes, es decir, podremos llamar de manera sencilla código Phyton desde C# y utilizarlo. Tendremos bindings para .NET (Object), para JavaScript (Silverlight), para Phyton, Para Ruby y otros.

Las novedades al detalle

Como os comentaba,  a través de la palabra clave dynamic y otras innovaciones, C# 4.0 adquiere una dimensión dinámica que nos permite hacer conversiones dinámicas de tipos y hacer llamadas dinámicas a métodos:

069

Todas las características dinámicas de C# 4.0 vendrán en un nuevo ensamblado: System.Dynamic.

La segunda de las novedades con las que la audiencia se mostró gratamente sorprendido es la de los parámetros opcionales y nombrados. Lo mejor para entender esta novedad es ver un ejemplo (seguro que a más de uno le suena familiar).

public StreamBuilder OpenTextFile(

                        string path,

              Encoding encoding=null,

              Bool  DetectEncoding =true,

              Int BufferSize=1024)

 

Creo que las ventajas de usar este tipo de parámetros está claro. Finalmente, la tercera y última novedad que voy a comentar es la relativa a las mejoras en la interoperabilidad COM…y en este caso una imagen vale más que mil palabras para ver en que consiste esta novedad:

073

…y un gran final al más puro estilo Anders Hejlsberg

Como no podía ser de otra forma, para cerrar su intervención Anders nos dejó un gran regalo en sintonía con este día lleno de novedades en el PDC: se trata del Compiler as Service…es decir, Microsoft está trabajando en una nueva versión de su compilador para C#, pero con vistas a eliminar la caja negra modelada e implementada en C++ por otra mucha más abierta y que permita evaluar código de manera dinámica:

076

La idea de este nuevo compilador es abrir todo lo que tiene el compilador para poder embeber código C# en otros entornos dinámicos. Se trata de compilar directamente en código manejado. Y como prueba y cierre de la sesión, Anders nos hizo una demo espectacular de un prototipo de evaluador de C# capaz de entender e implementar de manera dinámica código C#.

078

Más información sobre C# 4.0 en la sección C# future de MSDN Code Gallery.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: