Curated Picks

Hand-picked articles, podcasts, and videos, annotated with our insights

Hacker News Apr 1, 2025

Why F#?

bozhidar, HN user

A February 2025 Hacker News discussion of Bozhidar Batsov's "Why F#?" blog post generated over 400 comments examining the language's commercial viability. In a detailed reply, user raphinou cited selecting F# for a Ruby on Rails rewrite, emphasizing its practical approachability, seamless .NET ecosystem access, and Hindley-Milner type inference as critical for maintaining a large codebase. Participants noted the community's shift from Slack to Discord and extensively debated asynchronous programming ergonomics, with many asserting the task { } computation expression introduced in F# 6.0 resolved earlier C# interop friction.

Critical observations included reports of slower compilation in large projects, F#'s status as a secondary priority within .NET, and a constrained hiring market. Counterpoints emerged from practitioners like user Foofoobar12345, who reported running an ~80-person pure F# company, arguing that capable developers achieve productivity within weeks and that the language yields robust, refactor-friendly systems. The thread also recorded C#'s ongoing incorporation of F#-inspired features, reducing its syntactic uniqueness but affirming its architectural influence.

Tangible outcomes referenced included raphinou open-sourcing the resulting application (myowndb) as a case study and multiple users confirming F# deployments in backend services, web APIs via Giraffe, and cross-platform UIs using frameworks like Fabulous, despite acknowledging its niche professional footprint.

F#
Bozhidar Batsov's blog Mar 30, 2025

Why F#?

Bozhidar Batsov

In March 2025, a technical article by Bozhidar Batsov detailed a re-evaluation of F# after a 15-year hiatus from .NET, citing the platform's open-source shift and F#'s functional design as key motivators. The author notes Microsoft formed a dedicated F# team in Prague in 2022, leading to active development evidenced by F# 9.0's release in November 2024 with quality-of-life improvements. Technically, the analysis highlights F#'s ML heritage, seamless .NET interop, and distinctive features like type providers and the pipeline operator, which facilitate succinct data scripting and analysis. The ecosystem is characterized as leveraging the broader .NET library landscape while supporting native web frameworks like Giraffe, Saturn, and data science tools such as Deedle and DiffSharp. Community-driven tooling, particularly the FSharp.Compiler.Service and the Ionide VS Code extension, is credited with improving the cross-platform editor experience, though the author observed the community remains smaller than OCaml's. The piece concludes that F# offers a pragmatic, production-ready functional language on a mature platform, with its trajectory supported by renewed corporate investment and consistent community projects like Awesome F# and Amplifying F#.

F#
Scala Users Nov 13, 2024

F# versus Scala

alain, forum user

A November 2024 community analysis positioned F# as a pragmatic ML-derivative for .NET, emphasizing its clean functional syntax and seamless C# interop as primary advantages. Practitioners noted its type-driven design, Hindley-Milner inference, and computation expressions for streamlining monadic workflows. Critics within the discussion argued that F#'s functional purity is complicated by mandatory .NET OOP interoperability, citing serialization reliance on runtime reflection and constraints requiring inline functions to bypass CLR generic limitations. Concrete outcomes included benchmarked performance parity with Scala on naïve algorithms and tooling praise for VS Code's integrated type display. The debate concluded that F#'s evolution is fundamentally shaped by the .NET ecosystem, with its unique features (type providers, units of measure, and active patterns) offering solutions to specific .NET integration challenges rather than general-purpose FP abstractions.

F#
r/dotnet Subreddit Feb 5, 2024

What are F# use cases?

Illustrator_Forsaken, Reddit user

In a 2022 r/dotnet thread discussing F# use cases, practitioners highlighted its discriminated unions and type system for domain modeling, particularly in representing tree-like structures such as ASTs. Proponents, including user dr_bbr, cited migrating from VB.NET to F# backends for enhanced null safety and compile-time SQL schema validation via type providers, reducing runtime errors. Critics argued that equivalent null-safety and validation can be achieved in C# with nullable reference types and build tasks, while noting F#'s steeper learning curve and debugging challenges in functional pipelines. Several commenters reported using F# successfully for business logic and complex data transformation layers, emphasizing improved testability and reduced cognitive load from immutable data flows. The discussion concluded without a consensus on superiority, but reflected ongoing interest in F# for domains prioritizing correctness and expressiveness over broad ecosystem integration.

F#
r/dotnet Subreddit Sep 18, 2023

Why don't you just use F#?

Reddit user

A 2022 Reddit discussion on r/dotnet, titled "Why don't you just use F#?", generated over 200 comments debating the language's adoption barriers within the .NET ecosystem. Proponents, including developers using F# for personal projects, highlighted its expressive type system, Discriminated Unions, and pipeline operators as transformative for domain modeling and code clarity. Critics, primarily C# practitioners, argued that C#'s ongoing incorporation of functional features (such as pattern matching and immutable collections) alongside libraries like LanguageExt, sufficiently addresses functional needs without imposing a paradigm shift. Multiple contributors cited concrete workplace impediments: resistance from teams entrenched in older .NET Framework versions, a lack of interop simplicity for mixed C#/F# assemblies, and perceived deficiencies in tooling and official Microsoft support compared to C#. The discussion concluded without resolution, underscoring a persistent community split between F#'s technical elegance and the pragmatic, team-based constraints favoring C#'s evolutionary path.

F#
Eric Sink's blog Jan 5, 2015

Why your F# evangelism isn't working

Eric Sink

In a 2015 analysis, Eric Sink applied Geoffrey Moore's "crossing the chasm" model to F#'s adoption, arguing the language remained confined to early adopters. He attributed this stagnation not to technical deficiencies but to pragmatist developers' herd mentality, which prioritizes predictable, widely-used tools like C# over superior but unproven alternatives. Sink claimed evangelism fails because pragmatists only consider new technologies when existing solutions cause significant pain, a condition largely unmet in the stable C# ecosystem. The concrete outcome is F#'s continued niche status despite technical merits, with mainstream adoption contingent on identifying and solving acute pain points for pragmatic teams.

F#