F#

F# is a functional programming language.

Benefits

Declarative

F# uses expression instead of statements, declaring what should be done, not how something should be done. This often makes code self-documenting.

Less Code

F# typically requires less code to implement similar functionality. It also reduces code noise. Instead of curly braces, indention is used to denote block scopes. No line terminators are required, and neither are parentheses and commas when specifying parameters. In many cases, type inference is used and does not required explicit typing. Function returns are implicit.

Interactive Development

F# functions can stand alone, and do not have to be nested inside a class, like in C#. This makes it very easy to create and test functions in the Visual Studio F# Interactive Window before commiting to source code (to be fair, C# also now has an interactive window). This can help enforce good design thinking during development.