¡Esta es una revisión vieja del documento!
Conceptos que hay que tener en cuenta a la hora de programar.
El código imperativo describe cómo se hace algo, mientras el declarativo describe qué se está haciendo.
La programación declarativa expresa la lógica sin describir un flujo (if, bucles…).
El código siguiente es imperativo:
using System; class Example { static void Main() { Int32 sum = 0; for (Int32 i = 0; i < 100; i++) { if (i % 2 == 0) { sum += i; } } Console.WriteLine(sum); } }
Su equivalente declarativo sería:
using System; using System.Linq; class Example { static void Main() { Int32 sum = Enumerable.Range(0, 99) .Where(i => i % 2 == 0) .Sum(); Console.WriteLine(sum); } }
O con un grado declarativo mayor:
using System; using System.Linq; class Example { static void Main() { Int32 sum = Enumerable.Range(0, 99) .Where(isEven) .Sum(); Console.WriteLine(sum); } static Boolean isEven(Int32 number) { return number % 2 == 0; } }