Confesiones de un autor con prisas
"My mama said you can't hurry love
No, you'll just have to wait
She said love don't come easy
But it's a game of give and take"
("Can't hurry love", Phil Collins, 1982)
Las prisas por salir al mercado tienen, sin lugar a dudas, algunos riesgos asociados. Esos riesgos los sufrí en carne propia al publicar "C# 3.0 y LINQ", que ya estaba en la calle incluso antes de la salida definitiva de Visual Studio 2008. Para lograr eso, por supuesto, hubo que probar todo el código del libro con la Beta 2 de .NET 3.5 y C# 3.0, que se suponía no cambiarían hasta la salida de sus versiones finales. Según se demostró, eso era mucho suponer...
En la edición original del libro, que yo sepa, salieron dos cosas que luego no compilaban en la versión definitiva de Visual Studio:
a) El primer "bug" era el uso de los métodos Add y Remove de DataContext ("LINQ to SQL", p. 280). Después de la Beta 2, el equipo de producto decidió renombrarlos como InsertOnSubmit y DeleteOnSubmit, dejándome colgado :-). Yo todavía no estoy 100% convencido de que el cambio de nombres haya sido positivo.
b) En el capitulo "Iteradores" (p. 44), se dice que .NET 3.5 incluye una clase System.Numeric.BigInteger para la implementación de enteros muy grandes. Esto realmente iba a ser así, pero a última hora se decidió que la clase no estaba lista para el prime time y se la eliminó. Esta clase sí va a formar parte (parece :-) de .NET 4.0, así que es bastante probable que si alguien lee el libro en 2010 esté recibiendo información 100% correcta.
De la primera de estas dos "erratas" me di cuenta enseguida, la anuncié inmediatamente en donde quiera que pude, y fue subsanada en la segunda edición del libro. La segunda aún sigue ahí, yo mismo me di cuenta solo al cabo de cierto tiempo, y nunca nadie me la mencionado, lo cual me ha llevado a pensar que o bien la gente no se ha dado cuenta porque no necesita los métodos numéricos en su trabajo diario, o bien nadie se ha leido en profundidad el capítulo (o el libro :-). Claro, también está la opción "optimista" de que la gente sí se ha dado cuenta, pero son condescendientes porque comprenden que uno no se puede haber sacado el truco de la manga, sino que eso debió funcionar antes.
I think now, looking back (esta frase me recuerda la excelente película de Oliver Stone, "Platoon"), que la cantidad de problemas de este tipo en el libro ha sido mínima, y que valió la pena sacarlo rápidamente para que así cumpliera con su objetivo principal: permitir a los programadores de habla hispana ponerse rápidamente on track en las nuevas características que .NET 3.5 y C# 3.0 ponían a su disposición. Espero que usted, amigo lector, esté de acuerdo.
Pop/rock tip: Phil Collins ha disfrutado de una larga carrera, en la que ha sido favorito de varias generaciones. Después de varios años como baterista y cantante de Genesis (mi etapa preferida, claro), decidió independizarse y dar a su carrera un rumbo más comercial, lo que indudablemente se ha reflejado muy positivamente en sus bolsillos. Durante esta segunda etapa ha tenido múltiples números uno, entre los que cabe destacar "Against All Odds", "Sussudio", "Easy lover" (con Phillip Bailey, de Earth, Wind & Fire) o "Another Day in Paradise". Personalmente, de su producción en solitario me quedo con la banda sonora de la película de Disney "Tarzán", que habré visto más de 20 veces con mi hija... Por cierto, esa banda sonora la grabó no solo en inglés, sino también en un más que correcto españolcastellano y otros seis idiomas más.