Sobre la ‘@’, el ‘&’ y otros "escapes"

En un reciente artículo,


    http://geeks.ms/blogs/rfog/archive/2007/02/19/el-uso-on-de-la-algarroba-dentro-de-un-programa-escrito-en-c.aspx,


mi buen amigo RFOG escribía sobre la posibilidad de utilizar en C# el carácter ‘@’ como prefijo delante de una palabra reservada, para indicar que ésta debe ser tratada como un identificador «normal». Augusto Ruiz comentaba, correctamente, que la utilidad del uso de la ‘@’ delante de las palabras reservadas radica en que permite referirse desde C# a una clase, propiedad, método, etc. creada en otro lenguaje con un nombre que coincide con el de una palabra reservada de C#. Asimismo, indicaba que en Visual Basic para lograr ese efecto se encierra la palabra reservada entre corchetes.


Me imagino que todo lenguaje .NET que se precie debe tener algún mecanismo similar, dado el énfasis que hace la plataforma en que sea posible utilizar el código escrito en otros lenguajes. Por ejemplo, en Delphi/Object Pascal .NET el papel de la ‘@’ lo juega el ‘&’.


Un ejemplo de situación en la que la existencia de estos caracteres de «escape» es, cuando menos, sumamente útil, es la que sufrí tiempo atrás y me vino a la mente cuando leí el post de Rafa. Como todo el mundo conoce, la propiedad mediante la cual se representa al destinatario del mensaje de correo en las clases System.Web.Mail.MailMessage y System.Net.Mail.MailMessage se llama «To«. Con C# y VB no hay ningún problema, pero… ¡to es una palabra reservada de Pascal! (recuerde el típico bucle for i := 1 to 10 do Console.WriteLine(i);). Pascal además no distingue mayúsculas de minúsculas, así que cada vez que en Delphi .NET se quiere especificar el destinatario de un correo electrónico, no queda más narices que escribir:


    miMensaje.&To := ‘sleepless@seattle.com’;


 

La próxima CTP de Orcas será en marzo

Según Dinesh Kulkarni, Program Manager de Visual C#, podemos esperar la próxima CTP de Orcas para el próximo marzo:


    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1180478&SiteID=1


Dinesh confirma que en esta CTP ya estará incluida toda la funcionalidad relacionada con LINQ To SQL (tecnología anteriormente conocida como DLINQ), que permitirá utilizar las consultas integradas en el lenguaje contra bases de datos relacionales, sobre lo que no hemos visto nada nuevo desde hace algún tiempo…


 

Otra gran entrevista a Anders…

Mi viejo conocido Charlie Calvert (otro ex-Borlander) ha publicado en su blog otra entrevista a Anders Hejlsberg, arquitecto principal de C#, en la que éste habla sobre las ventajas que ofrecerá a los programadores la incorporación a C# y VB de elementos de programación funcional y de las consultas integradas en el lenguaje:



          http://blogs.msdn.com/charlie/archive/2007/01/26/anders-hejlsberg-on-linq-and-functional-programming.aspx



De esta entrevista me quedo no solo con la extraordinaria lucidez con la que Anders resume en unos pocos minutos la importancia de las funciones lambda, los árboles de expresiones o las consultas integradas en los lenguajes, sino también con la introducción preliminar de Charlie, en la que algunos encontraremos reflejada la historia de nuestras vidas.


 

Artículos sobre expresiones lambda y árboles de expresiones (C# 3.0)

Desde hace algún tiempo, vengo escribiendo para www.elguille.info algunos artículos sobre las nuevas características que incluirá C# 3.0. Por el momento hay tres, uno sobre expresiones lambda y dos sobre árboles de expresiones:

a) http://www.elguille.info/NET/futuro/firmas_octavio_ExpresionesLambda.htm

b) http://www.elguille.info/NET/futuro/firmas_octavio_ArbolesExpresiones.htm

c) http://www.elguille.info/NET/futuro/firmas_octavio_calculo_simbolico.htm

Gracias desde aquí a El Guille por la oportunidad de publicar en su sitio.


 

Traducciones de la documentación preliminar de C# 3.0, LINQ y ADO.NET vNext

Desde hace unos días están publicadas en MSDN mis traducciones al castellano de todos los documentos preliminares publicados hasta el momento sobre C# 3.0, LINQ y ADO.NET vNext. En particular, están traducidas las siguientes especificaciones:


 



  • Especificación de C# 3.0
  • El Proyecto LINQ
  • Los operadores de consulta estándar de LINQ
  • Acceso a datos de próxima generación
  • Presentación Técnica de ADO.NET vNext
  • El Marco de Entidades de ADO.NET vNext



Se puede acceder a estos documentos desde aquí.


 


Espero que estas traducciones ayuden a quien lo desee a familiarizarse con los fundamentos de estas tecnologías, que seguramente cambiarán nuestra manera de programar en un futuro ya cercano…


 

Año nuevo, blog nuevo…

Comienza un nuevo año, y con él la hora de retomar el mantenimiento de un blog…


Mi nombre es Octavio Hernández, y desde esta tribuna compartiré mis ideas sobre diversos temas relacionados con .NET Framework en general y con mis tecnologías predilectas, el lenguaje C# y el proyecto LINQ, en particular.


Mi más sincero agradecimiento al equipo de Geeks.ms y especialmente a Rodrigo Corral y Pablo Peláez por la oportunidad de formar parte de este gran colectivo.