I was initially excited about LINQ, the C#/VB.NET/etc. extensions for "language-integrated query, set, and transform". Then I realized that map() and grep() (and the easy extensions to these found in Higher-Order Perl) work the same as LINQ, with the advantage that they are not tied to a particular implemention of the lists or sets that you are operating on. Since map() and grep() work with CODEREFs in the list (or could be made to work easily I'm too lazy to look this up right now), then map() and grep() could work with any list/set source, whether it is XML, DBI, a sensor array, or whatever.
So why doesn't Microsoft just go ahead, break down and add true functional-programming constructs to
Microsoft has had a number of smart people working for it over the years (J. Allard, for whom we Windows users can thank for Winsock, is one example). Nowadays Microsoft has upped the ante by adding researchers who did not "grow up" in Microsoft, but were brought into the fold (Rick Rashid and the (hopefully not late) Jim Gray are a couple of examples). Functional programming, applied appropriately, makes programming easier (and not by just a small amount). Let's face it, sometimes you just want to process a bunch of stuff without regard to its order, which is when functional programming techniques to me really shine. Adding general functional programming constructs to
Now that closures and anonymous functions (lambdas) will be added to
MS does do Functional (Score:1)
Actually MS is doing lots of functional goodness on the .NET platform, the SML.NET [cam.ac.uk] compiler has been around for a while now, and F# [microsoft.com] is a pretty nice addition to the ML family of languages (Standard ML, Ocaml, etc).
In addition to all this stuff, they have Simon Peyton Jones [microsoft.com] (one of the main guys behind GHC [haskell.org] (the Haskell compiler)) on their research staff as well as some other really cool FP guys.
As for the other .NET languages, looks like there might be lambdas in C# 3.0 [lambda-the-ultimate.org]. Of course they already have de
Re: (Score:1)