17 ms·
Speaking as someone who has been doing C# for over 15 years, and still professionally, but who uses F# almost exclusively in my private projects, the biggest th
by AdeptusAquinas 8y ago
Speaking as someone who has been doing C# for over 15 years, and still professionally, but who uses F# almost exclusively in my private projects, the biggest things are:
- discriminated unions. DU types don't exist in C# or lots of other languages, and change the way you program
- complex match expressions (fortunately coming in C# 8)
- value tuples (thankfully arrived in c# 7)
- the pipe operator and partial application (another thing that changes the way you program)
- super implicit typing (its to var what var was to explicit typing)
- and its use of option/result types, along with compiler enforcement of all conditions.
Before I picked up F# properly, I looked at it as fancy but overhyped. But then, its a bit of a plato's cave type of thing: you don't know why `type A = B of int | C of string * bool` is awesome until you have used it a bunch of times.
- keithnz 8y agoSpeaking as someone who's been programming for nearly 40 years, C# since it came out in beta, and F# when it first came out ( though I haven't used it consistently since then). I know about all those things, I have done signifiant programming with F# and other functional languages. Like I said, I like F# and I think it is a nicer language and I like it is more functional, but in the broader picture, I don't think the advantages are that significant that you'd bet your products on it. I'd tend to suggest something like Elixir might be a better option. But you may hit a sweet spot where F# is a good choice... cool, but I think the sweet spot is quite small