Una reflexión sobre el puzzle de la oferta de ilitia

Ante todo, mi felicitación a ilitia por lo que considero, como expresé en el post de Luis Ruiz al respecto, una excelente idea. Y el puzzle en sí mismo es, a mi modo de ver, genial.

Reflexionando un poco sobre el asunto, me he dado cuenta de que me equivoqué al afirmar allí que había que tener idea de C# 3.0 y LINQ para atacarlo. Para resolver el puzzle, en principio, bastaban los iteradores y la sentencia yield, disponibles en C# desde el año 2005:

public static class ExtensionesChuckNorris
{
    public static IEnumerable<int> To(this int a, int b)
    {
          for (int i = a; i < b; i++) yield return i;
    }

    public static IEnumerable<int> DownTo(this int a, int b)
    {
          for (int i = a - 1; i >= b; i--) yield return i;
    }
}

Esto me ha vuelto a traer a la mente una reflexión de mi buen amigo Rodrigo Corral, que me decía hace unos meses que según su experiencia mucha gente que programa hoy en VS 2005 y C# aún no conoce características introducidas en C# 2.0 como las antes mencionadas. Aquello fue lo que me dio la idea de incluir en el libro "C# 3.0 y LINQ" cuatro capítulos (métodos anónimos, genéricos, iteradores y tipos valor anulables) que explicaran esos conceptos como antesala de la presentación de las nuevas características que ahora se incorporan al lenguaje.

Desde aquí mi exhortación a los programadores de C# a que se esmeren en conocer en anchura y en profundidad el lenguaje que utilizan; no hay nada en él que resulte superfluo o inútil. De la misma manera, exhorto a los directores y jefes de proyecto a que potencien ese conocimiento en sus programadores; algo que sin dudas se revertirá en múltiples beneficios para la causa común.

Published 20/11/2007 22:45 por Octavio Hernández
Archivado en:
Comparte este post:

Comentarios

Wednesday, November 21, 2007 9:52 AM por Luis Ruiz Pavón

# re: Una reflexión sobre el puzzle de la oferta de ilitia

Muy bueno Octavio!!!

Ah! por cierto este finde compraré tu libro XD

Salu2

Wednesday, November 21, 2007 12:33 PM por Octavio Hernández

# re: Una reflexión sobre el puzzle de la oferta de ilitia

Gracias, Luis!

Siempre sigo tu blog con gran interés.

Abrazo - Octavio

Saturday, November 24, 2007 1:08 PM por Octavio Hernández

# re: Una reflexión sobre el puzzle de la oferta de ilitia

espinete:

>> alguna buena referencia donde explique bien sentencia yield ?

- Bueno, espero que mi libro no lo haga mal ;-).

- Es un tema en general poco tratado en los libros de C# 2.0, y probablemente se conocía poco porque le faltaba la "compañía" de otras construcciones que sí están ahora en C# 3.0.

- Un libro donde por supuesto se describe yield con todos sus pelos y señales es "The C# Programming Language" de Anders Helsberg y otros (en inglés).

>> Y tampoco poner this a un parámetro: this int a

Los métodos extensores (en los que se antepone this al primer parámetro) es una característica de C# 3.0.

Salu2 - Octavio