The author's C# example predated the release of LINQ, which makes the C# syntax much more like the Python's. The author's code:<p>string.Join("\n", mylist.ConvertAll<string>(
delegate(Foo foo)
{
return foo.Description();
}).FindAll(
delegate(string x)
{
return x != "";
}).ToArray());<p>can be rewritten as:<p>string.Join("\n", (from f in myList
where f.Description() != ""
select f.Description()).ToArray());<p>which is super-easy to read and understand. Maybe not as concise or pretty as Python or Haskell, but definitely a step in the right direction.<p>Others' comments that the author should consider F# are well founded, as it integrates seamlessly with other .NET-based code (such as C#) and is a pretty great language. However, it's worth noting that the post was written in 2006, well before F# was widely known about or distributed.