I've recently started teaching myself F# as hobby. Functional programming languages are powerful, elegant and--above all--concise, when applied to the right problems. As a full time .NET developer, I've been curious about the .NET answer to functional programming for a while, and now that it's fully supported for production in VS2010, it seems like a reasonable time to look into it. I'm pleased with what I've seen so far. Sooner or later, when I've developed a firmer handle on the language, I might campaign within my company to have a very limited portion of our less stable code shifted to F# and to start writing certain pieces of new functionality in F# instead, though I anticipate a lot of perfectly justified resistance to the idea. F# comes with a steeper initial learning curve (unless you're already familiar with the functional paradigm, which most developers I've met aren't), and it either places greater restrictions on who we can hire in the future or it builds a silo around the F# code. Or both. That being said, once you get past the learning curve, functional languages in general provide a big boost to productivity and a substantial reduction in lines of code, for those coding problems to which they are suited, and as far as I can tell, F# meets the necessary criteria for these benefits to hold. F# is worth looking into if you're trying to parallelize complex code, improve UI responsiveness when users trigger expensive operations that can run in the background, or decompose and/or apply transforms to large, complex chunks of data. Otherwise, unless you have an academic interest, you can probably find a better use for your time.
D
Daniel Sheiner
@Daniel Sheiner
Posts
-
F# -
Why is .NET so popular? (Serious Question)Here's a summary of some of C#'s cooler features.