F# logo

F#

Strongly-typed, functional-first programming language for writing simple code to solve complex problems
453
392
+ 1
329

What is F#?

F# is a mature, open source, cross-platform, functional-first programming language. It empowers users and organizations to tackle complex computing problems with simple, maintainable and robust code.
F# is a tool in the Languages category of a tech stack.
F# is an open source tool with 2.2K GitHub stars and 337 GitHub forks. Here’s a link to F#'s open source repository on GitHub

Who uses F#?

Companies
57 companies reportedly use F# in their tech stacks, including Walmart, Olo, and Jet.com.

Developers
271 developers on StackShare have stated that they use F#.

F# Integrations

.NET, .NET Core, .NET for Apache Spark, MonoDevelop, and Continuous are some of the popular tools that integrate with F#. Here's a list of all 12 tools that integrate with F#.
Pros of F#
48
Pattern-matching
36
Makes programming fun again
33
Type providers
28
Delightful
27
Frictionless
22
Static type inference
19
Composable
17
REPL
16
Ml syntax
14
Succinct
7
DDD
6
Making invalid states impossible
6
WebSharper
6
Great community
4
Open source
4
Powerful
4
Language support for units of measure
3
Fun to write
3
Less bugs
3
Functional paradigm
3
Object oriented features
3
Beautiful Code
3
Functional Programming
3
Computation Expressions
3
Multiplatform
3
Productive
3
Compact
2
Allow use JS and .NET libraries
Decisions about F#

Here are some stack decisions, common use cases and reviews by companies and developers who chose F# in their tech stack.

Shared insights
on
Go
Dart
.NET
C#
F#
Java
Kotlin

Hi there. I want to expand my coding toolset. So I want to learn a second backend language besides Kotlin. Kotlin is fantastic. I love it in every aspect, and I think I can never return to Java. And also why should I? It is 100% interoperable with java and can co-exist in every project.

So my question here is. Which language do you think will bring me more joy? I think F#; it is more like Kotlin. Then C# (it's more or like 100% java). But, let's say I learn F#. Is it 100% interoperable like Kotlin? can they live side by side? Can I, then, apply to .NET jr jobs after a while, for example, or is C# the holy cow? I would like to learn .Net.

If it is the worst and only C# is acceptable, then which language should I learn? Dart? Go?

See more

F# Alternatives & Comparisons

What are some alternatives to F#?
Haskell
It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
OCaml
It is an industrial strength programming language supporting functional, imperative and object-oriented styles. It is the technology of choice in companies where a single mistake can cost millions and speed matters,
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Clojure
Clojure is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
See all alternatives

F#'s Followers
392 developers follow F# to keep up with related blogs and decisions.