F#

/eff-sharp/ · noun · Development · Origin: 2005

Definitions

  1. A functional-first language on the .NET platform that brings ML-family language features to the Microsoft ecosystem. F# offers type providers for typed access to external data, computation expressions for custom workflows, and seamless interop with C# libraries, making it popular in finance and data-intensive domains.

    In plain English: A functional programming language from Microsoft that works alongside C# but takes a math-oriented approach to solving problems.

    Example: The quant team writes all their pricing models in F# — the type providers alone save them a week per data source integration.

Origin Story

Microsoft Research's functional language tuned to a sharp key

Don Syme at Microsoft Research Cambridge began developing F# in 2005. He wanted to bring OCaml's powerful functional programming features to the .NET ecosystem while maintaining interoperability with C# and Visual Basic.

The name **F#** follows the C# naming convention -- a musical sharp applied to a letter. The **F** stands for "functional," reflecting the language's primary paradigm. Like C#'s sharp symbol, the '#' suggests being a step above (the F language concept).

F# pioneered several features that later appeared in C#, including async/await, pattern matching, and type providers (compile-time code generation from external data schemas). It's popular in finance, data science, and anywhere .NET developers need the safety of strong functional types.

Coined by: Don Syme (Microsoft Research)

Context: Microsoft Research Cambridge, 2005

Fun fact: F#'s type providers can generate types from a SQL database, CSV file, or REST API at compile time. Syme has noted that several features he prototyped in F# -- including async workflows -- were later adopted by C# and other mainstream languages.

Related Terms