"C# 3.0 y LINQ" disponible





C# 3.0 y LINQ

Ya está disponible el libro “C# 3.0 y LINQ”, editado por Krasis Press. Espero sinceramente que sea útil, sobre todo en estos primeros tiempos en que la literatura en castellano sobre esos temas será algo escasa.


Desde aquí exhorto a los muchos autores potenciales que “bloguean” y/o visitan geeks.ms a que escriban: la satisfacción que se siente al ver terminado el trabajo de tantas madrugadas es indescriptible :-). Esa es la principal recompensa que cabe esperar: si no, leed este post del Maestro Petzold, que me refirió mi buen amigo Marino Posadas.


He habilitado el sitio Web de mi antigua empresa para que quien quiera comunicar un error, disentir sobre alguna opinión mía o simplemente mandarme un mensaje pueda hacerlo. Desde ahí se podrá también descargar el código fuente de los ejemplos y otros materiales que iré publicando y consultar las erratas que hayan sido descubiertas.


Por último, agradecer las amables palabras de Marc y Unai en este otro post.


 

October Conference .NET, los días 15 y 16 en Málaga

Los próximos días 15 y 16 estaremos en Málaga, donde se celebrará la primera October Conference .NET, evento gratuito organizado por Malaga .NET User Group y patrocinado por iMeta y MSDN, entre otras empresas. Allí tendré el honor de compartir cartel con ponentes de la talla de Dino Esposito, Neal Ford, Hadi Hariri, “El Guille” o Unai Zorrilla, entre otros.


Si puede acercarse, ¡no lo piense dos veces!


Todos los detalles aquí: http://www.octoberconference.net/index.es.aspx.

Por fin, cómo hacer un proveedor LINQ basado en IQueryable

Después de que muchos (un servidor incluido) se hayan roto literalmente la cabeza durante meses investigando los pormenores del funcionamiento de la interfaz IQueryable y cómo crear un proveedor LINQ basado en ella (al estilo de LINQ to SQL), el bueno de Matt Warren, uno de los creadores de la tecnología (viene trabajando en esto desde tiempos de Object Spaces), ha publicado en cinco posts todos los pormenores relacionados con el tema:


    http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx (parte 1 de 5)


Ya había varias buenas aproximaciones por la red (sobre todo la de Bart de Smet), pero ninguna tan exacta y detallada como ésta.


Le recomiendo estos posts, si le gusta conocer cómo funcionan las cosas por dentro. Si piensa limitarse a escribir consultas integradas en C# 3 ó VB 9 (tenga por seguro que lo tendrá que hacer, más tarde o más temprano), entonces ya no tanto…

Who are you?

Revisando enlaces relacionados con LINQ, encontré este post de Oakleaf Systems en el que se hace mención a tres “personajes de ficción” creados en su momento por el equipo de desarrollo de Visual Studio para identificar a los diferentes tipos de desarrolladores: Mort, Elvis y Einstein. Aunque luego he leído que esa clasificación ya se ha dejado de usar, era la primera vez que la veía y me resultó simpática, amén de incitarme a la inevitable pregunta: “¿Y quién de estos soy yo?


A continuación reproduzco los rasgos característicos de esos personajes:



  • Mort, el programador oportunista, prefiere dar soluciones rápidas a los problemas inmediatos; su prioridad principal es la productividad, y aprende las novedades en los lenguajes y librerías según las va necesitando. Mort generalmente se dedica al desarrollo de aplicaciones y componentes de negocio ad-hoc.

  • Elvis, el programador pragmático, prefiere crear soluciones reutilizables en los dominios de problemas en los que trabaja, y aprende cosas nuevas mientras trabaja en la solución de los problemas. Generalmente desarrolla componentes reutilizables, y disfruta utilizando características avanzadas de .NET como WCF.

  • Einstein, el programador paranoico, siempre quiere desarrollar la solución más eficiente a un problema dado, y generalmente prefiere obtener los conocimientos de antemano, antes de enfrentarse a una solución.

Revisando estas definiciones, he llegado a la conclusión de que debo ir al psiquiatra, pues sufro un grave problema de doble personalidad 🙂


Y usted, amigo lector, ¿con qué personaje se identifica más? O, parafraseando a uno de mis grupos favoritos de los 70, precisamente llamado The Who: Who are you?


 

Recetas de uso de LINQ en VB9

El equipo de VB9 ha comenzado a publicar una serie de “recetas” de LINQ. Se trata de pequeños ejemplos de utilización de consultas integradas en situaciones de programación comunes. Las primeras son sencillas (vea por ejemplo la primera), pero esperemos que se vayan haciendo más complejas en la medida en que vayan avanzando.


Para el soporte de LINQ y LINQ to XML, VB9 incluirá a nivel de lenguaje toda una serie de facilidades que C#, un lenguaje más “sobrio”, no puede ofrecer. Ya en un artículo que escribí hace unos meses para dotNetMania presenté los fundamentos, pero ha llovido bastante desde aquello… Y muchas novedades se han ido incorporando. Véanse por ejemplo en este post las posibilidades adicionales para los encuentros externos (OUTER JOIN), la selección de registros distintos (DISTINCT), de los N primeros (TOP), entre otros.


 

Liberada CTP de junio 2007 de ADO.NET Entity Framework

Microsoft ha liberado la CTP de junio de 2007 de ADO.NET Entity Framework, que incluye múltiples novedades posteriores a la Beta 1 de .NET Framework 3.5 (para la que también hay una actualizacion, como ha anunciado Jorgito Serrano). Alguna de las nuevas características son el soporte de restricciones de integridad referencial, soporte para transacciones y serialización en las clases generadas automáticamente, mejoras en el soporte para procedimientos almacenados y la gestión de contextos, vistas SQL nativas y soporte para UNICODE y funciones canónicas en Entity SQL.


La CTP puede descargarse desde aquí.


He traducido para MSDN algunos artículos introductorios sobre Entity Framework, como por ejemplo éste.


 

Visual Studio 2008 Shell

Gracias a mi colega y amigo Iván González, me he enterado de la futura disponibilidad de Visual Studio 2008 Shell:


        http://msdn2.microsoft.com/en-ca/vstudio/bb510103.aspx


Se trata exactamente de eso, el “cascarón” de Visual Studio puesto a disposición de los desarrolladores para implementar entornos de desarrollo integrados u otras herramientas especializadas…


Desde hace algún tiempo, el SDK de Visual Studio incluye generadores de analizadores lexicológicos y sintácticos basados en los legendarios LEX y YACC, además de otras múltiples herramientas auxiliiares, y ahora el shell…


        http://msdn2.microsoft.com/en-us/vstudio/aa700819.aspx


Al ritmo que vamos, tal vez pronto podré hacer realidad mi viejo sueño de implementar mi propio lenguaje (llamado preliminarmente “M4”, su diseño inicial data de 2001 :-), con entorno integrado y todo…

Back to the trenches

Después de un buen tiempo sin “postear”, es hora de volver a la trinchera…


Durante este mes de silencio, he estado ocupado en varios proyectos, uno de ellos el lector digital de MARCA presentado en ReMIX al que hacía referencia hace poco mi colega y amigo Cristian Manteiga.


A partir de ahora espero retomar regularmente mi actividad “blogueadora”…