Hacker News new | ask | show | jobs
by ofir_geller 3721 days ago
Every time I start getting into f# the Roslyn team comes out with new features taken from FP (tuples, local functions, pattern matching) and narrows the gap. So I postpone the move from c# to f# to a later date .

The things I know are never coming to c# (like data providers) are not important to me.

So for me c# is the greatest block against f# adoption.

2 comments

It is still a long way before:

* pattern matching / active patterns

* Discriminated Unions and many other crucial type system enhancements over POCO in C#

* real functional orientation (function composition, immutability by default, partial application)

* type providers (it is not necessarily about data provider)

* more compile time safety harness

* plenty of other things that become apparent when you get comfortable with the language

C# 7 is still doing catch-up with F# 1.

My hypothesis is that it is easier for many people to not try too hard to grasp at functional programming or just learn a new language.

The truth is that F#'s features are not that compelling to justify the move, ML syntax is too different and R# tooling is not there and never going to be.
You might be right about a small subset of people, but most developers using languages like ruby, python, basic, pascal, etc. would prove this wrong.

Also most of F# are fairly well experienced C# programmer, and I think they do find the language compelling.

C# cannot gain the the aesthetics and ergonomics of F#, so there will always be something missing.