Hacker ApprovedDepartments

F#

Hacker Approved

Ranked 22 of 163 programming languages by recommenders

A concise functional-first .NET language with a strong type system, good type inference and discriminated unions, though many feel Microsoft neglects it in favor of C#.

A concise functional-first .NET language with a strong type system, good type inference and discriminated unions, though many feel Microsoft neglects it in favor of C#.

183 people gave an opinion

recommend it
154
criticize it
29
approval share
84%
Each figure is 2 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Owned for 8 years

Median of the 6 owners who said how long they have had it.

Each square is one year.

Why it carries the badge

  • 154 people recommend itNeeds 10 or more, met.
  • 5.3 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Expressive type system catches errors

    “the closest thing to a rich type system yet pragmatic enough is to me F# and it’s still falls short as formal verification and ecosystem integration”

    Comment from 8 Feb 2026 in “Python interpreter written in Rust for use by AI”

    “you get the conciseness of a scripting language but with a type system that catches errors before you run anything”

    Comment from 9 Mar 2026 in “Why use F# for scripting and automation?”

    “F# is just as easy with a pen, but far more powerful and with a powerful type system and aggressive compiler”

    Comment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”
  • Concise, terse syntax

    “tame this a bit with things like the forward application operator |> that, in my opinion, largely solve the readability problem”

    Comment from 22 Jan 2026 in “In Praise of APL (1977)”

    “you get the conciseness of a scripting language but with a type system that catches errors before you run anything”

    Comment from 9 Mar 2026 in “Why use F# for scripting and automation?”

    “I quite enjoy C# and F# and while they are low boiler plate, you can really learn them in a week or two”

    Comment from 7 Mar 2026 in “What canceled my Go context?”
  • Discriminated unions and pattern matching

    “once you've used a language with good union and pattern matching support, this feels like a clunky hack”

    Comment from 24 May 2026 in “dotNET (OK, C#) gets union types”

    “you can use a single case discriminated union to get that behaviour fairly cheaply, and ergonomically”

    Comment from 11 Feb 2026 in “Parse, Don't Validate (2019)”

    “F# was years ahead of the major languages on what are increasingly looking like 'the basics'”

    Comment from 1 Feb 2026 in “The history of C# and TypeScript with Anders Hejlsberg | GitHub”
  • .NET interop and cross-platform deployment

    “In F#, you interoperate with Task transparently, and there is a number of community libraries to further enhance the experience.”

    Comment from 4 Nov 2025 in “Pain Points of OCaml”

    “C#/F# are great languages and I use them for almost everything that doesn't have extreme real-time constraints.”

    Comment from 21 Oct 2026 in “C# now beats Rust on WASM size”

    “F# has plenty of features that OCaml doesn't have like proper cross-platform support, proper deployment”

    Comment from 8 Nov 2025 in “Why I love OCaml (2023)”

What people warn about

Each mark is one comment

  • Microsoft neglects it for C#

    “Microsoft's management has always behaved as if it was a mistake to have added F# into Visual Studio 2010”

    Comment from 8 Apr 2026 in “Explore union types in C# 15”

    “Thankfully F# is more community driven, but the CLR ecosystem is definitely getting C#-centric”

    Comment from 12 Nov 2025 in “.NET 10”

    “If only Microsoft had more love for F# instead of slowly copying its features into C#.”

    Comment from 7 Jul 2026 in “Poly/ML – A Standard ML Implementation”
  • Performance and slow compiler

    “I would've loved an F# that found a way to improve on the performance issues, especially when using computation expressions.”

    Comment from 8 Apr 2026 in “Explore union types in C# 15”

    “near useless for systems programming and predictable behavior when caring about performance”

    Comment from 11 Jul 2026 in “Scarf has moved away from Haskell”

    “F# also has a real slow compiler. Last time hello world took a few secs on brand new mac.”

    Comment from 7 Nov 2025 in “Why I love OCaml (2023)”
  • Indentation rules awkward to edit

    “I love the semantics of many indentation based languages (F# for example) but really dislike editing them”

    Comment from 2 Aug 2026 in “F*: A general-purpose proof-oriented programming language”

    “the slightly-peculiar nature of F#'s indentation rules means tabs are less flexible in F# code”

    Comment from 24 Jun 2026 in “Rhombus v1.0”
  • Cryptic .NET errors

    “reames of weird .Net errors that were never fixed and hard to understand or speculate about”

    Comment from 26 Mar 2026 in “Swift 6.3 Released”

    “F# would be awesome but for the dogs*t .Net backend that made the tiniest error insoluble”

    Comment from 8 Nov 2025 in “Why I love OCaml (2023)”

Other programming languages people recommend

The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

F# compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Rust2,03997368%134 yrs118 ownersApproved
Go1,25465166%135.9 yrs63 owners—
Python1,06782157%1218 yrs64 owners—
Zig74344962%121 yr27 owners—
F#This page1542984%128 yrs6 ownersApproved
See all 163 programming languages, ranked

What people said

40 of the 271 comments that mention it, newest first. Each links to the original comment.

“letting the compiler tell the AI "nope, here's why" seems like a huge win in saving cycles and time”

RecommendsComment from 27 Oct 2026 in “Python's experimental JIT to be removed”

“C#/F# are great languages and I use them for almost everything that doesn't have extreme real-time constraints.”

RecommendsComment from 21 Oct 2026 in “C# now beats Rust on WASM size”

“the people writing F# are more likely to have some actual engineering because it's an ML but just .NET flavoured”

RecommendsComment from 4 Aug 2026 in “Twenty Years of Pandoc”

“F# is good because it can easily fetch and import third party dependencies in a script.”

RecommendsComment from 2 Aug 2026 in “Show HN: Fuse – statically typed functional programming language”

“I love the semantics of many indentation based languages (F# for example) but really dislike editing them”

MixedComment from 2 Aug 2026 in “F*: A general-purpose proof-oriented programming language”

“have type systems expressive enough that using them to track escaping is not an absolute hassle”

RecommendsComment from 22 Jul 2026 in “OpenAI and Hugging Face partner to address security incident”

“near useless for systems programming and predictable behavior when caring about performance”

CriticizesComment from 11 Jul 2026 in “Scarf has moved away from Haskell”

“in the stronger languages you can reason about larger swaths about domain concepts easily”

RecommendsComment from 7 Jul 2026 in “Poly/ML – A Standard ML Implementation”

“If only Microsoft had more love for F# instead of slowly copying its features into C#.”

RecommendsComment from 7 Jul 2026 in “Poly/ML – A Standard ML Implementation”

“F# has type providers, which lets the compiler construct nominal types based on the structure of real data”

RecommendsComment from 30 Jun 2026 in “Parse, Don't Validate – In a Language That Doesn't Want You To”

“the slightly-peculiar nature of F#'s indentation rules means tabs are less flexible in F# code”

MixedComment from 24 Jun 2026 in “Rhombus v1.0”

“They have always behaved as if it had been a mistake to promote F# from research project”

CriticizesComment from 24 May 2026 in “dotNET (OK, C#) gets union types”

“once you've used a language with good union and pattern matching support, this feels like a clunky hack”

RecommendsComment from 24 May 2026 in “dotNET (OK, C#) gets union types”

“F# is just as easy with a pen, but far more powerful and with a powerful type system and aggressive compiler”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“F# is so elegant and terse for writing functional-style wrappers around OO code packages”

MixedComment from 1 May 2026 in “I built a Game Boy emulator in F#”

“also either in the dotnet 9 or 10 timeframe f# added an attribute to make it so a recursive call that isn't a tail call throws a compiler error”

RecommendsComment from 30 Apr 2026 in “I built a Game Boy emulator in F#”

“I would've loved an F# that found a way to improve on the performance issues, especially when using computation expressions.”

MixedComment from 8 Apr 2026 in “Explore union types in C# 15”

“Microsoft's management has always behaved as if it was a mistake to have added F# into Visual Studio 2010”

MixedComment from 8 Apr 2026 in “Explore union types in C# 15”

“reames of weird .Net errors that were never fixed and hard to understand or speculate about”

CriticizesComment from 26 Mar 2026 in “Swift 6.3 Released”

“you get the conciseness of a scripting language but with a type system that catches errors before you run anything”

RecommendsComment from 9 Mar 2026 in “Why use F# for scripting and automation?”

“I quite enjoy C# and F# and while they are low boiler plate, you can really learn them in a week or two”

RecommendsComment from 7 Mar 2026 in “What canceled my Go context?”

“F# discriminated unions are even better for this with algebraic data types built right in”

RecommendsComment from 22 Feb 2026 in “Parse, Don't Validate and Type-Driven Design in Rust”

“you can use a single case discriminated union to get that behaviour fairly cheaply, and ergonomically”

RecommendsComment from 11 Feb 2026 in “Parse, Don't Validate (2019)”

“the closest thing to a rich type system yet pragmatic enough is to me F# and it’s still falls short as formal verification and ecosystem integration”

MixedComment from 8 Feb 2026 in “Python interpreter written in Rust for use by AI”

“F# was years ahead of the major languages on what are increasingly looking like 'the basics'”

RecommendsComment from 1 Feb 2026 in “The history of C# and TypeScript with Anders Hejlsberg | GitHub”

“tame this a bit with things like the forward application operator |> that, in my opinion, largely solve the readability problem”

RecommendsComment from 22 Jan 2026 in “In Praise of APL (1977)”

“It's maintained by like 5 people working in eastern Europe and they only do maintenance updates basically.”

CriticizesComment from 20 Jan 2026 in “The Gleam Programming Language”

“F# is an outlier, that is a real community project with lots of contributions from companies and enthusiasts”

RecommendsComment from 7 Jan 2026 in “Show HN: TCP chat server written in C# and .NET 9, used in the terminal”

“I also really didn't like having to to Seq.map or List.filter for everything instead of just calling methods off of the seq or list.”

MixedComment from 6 Jan 2026 in “C Is Best”

“F# also has substantially better type inference so you don't need to write the types out everywhere”

RecommendsComment from 5 Jan 2026 in “Monads in C# (Part 2): Result”

“Terse languages with great collection functions in the standard libraries and tail call optimization.”

RecommendsComment from 30 Nov 2025 in “Advent of Code 2025”

“hiring/onboarding for F# hasn't at all been a limiting factor. Ultimately F# is not a particularly difficult language to learn.”

RecommendsComment from 12 Nov 2025 in “.NET 10”

“F# is a really good OOP language. It's also concise, so I don't spend as much time jumping around files”

RecommendsComment from 12 Nov 2025 in “.NET 10”

“Thankfully F# is more community driven, but the CLR ecosystem is definitely getting C#-centric”

MixedComment from 12 Nov 2025 in “.NET 10”

“F# would be awesome but for the dogs*t .Net backend that made the tiniest error insoluble”

CriticizesComment from 8 Nov 2025 in “Why I love OCaml (2023)”

“The use case for F# seems to be shrinking because MS is putting all its energy in language.”

CriticizesComment from 8 Nov 2025 in “Why I love OCaml (2023)”

“F# has plenty of features that OCaml doesn't have like proper cross-platform support, proper deployment”

RecommendsComment from 8 Nov 2025 in “Why I love OCaml (2023)”

“F# also has a real slow compiler. Last time hello world took a few secs on brand new mac.”

CriticizesComment from 7 Nov 2025 in “Why I love OCaml (2023)”

“F# has a similar whitespace syntax to Python, but is statically typed and can be compiled AoT.”

RecommendsComment from 5 Nov 2025 on Hacker News

“In F#, you interoperate with Task transparently, and there is a number of community libraries to further enhance the experience.”

RecommendsComment from 4 Nov 2025 in “Pain Points of OCaml”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.