Better yet, Linux and macOS support via .Net Core is excellent. F# on .Net Core is now a powerful alternative to Node.js.
Better yet, Linux and macOS support via .Net Core is excellent. F# on .Net Core is now a powerful alternative to Node.js.
"Have you looked at F# even to just to see how it works?"
"I won't ever use it. I'm an OO programmer, and it suits me just fine!"
"Do you use LINQ, and understand you can pass functions into methods etc.?"
"Yeah, it makes things so much easier. I don't understand why people wouldn't use it."
"That's really more like functional programming"
"...."
Edit:formatting
- Do you want your data types in one line or 20?
- Pattern matching, or large concretions of if-statements?
- Race conditions: Quality problem, or fun puzzle?C# has support for most F# features, they're just often awkward to use
Discriminated unions: https://github.com/mcintyre321/OneOf and One line value objects: https://github.com/mcintyre321/ValueOf
I know local functions are a recent ish addition to C#. Hoping they keep going down that road.
They can be annoying, I guess, but once you are used to it you don't really notice they are missing. It is annoying if you have to switch languages often, I'm pretty sure I would need a few weeks to get re-acclimated if I had to go back to C# from using TypeScript for so long.
If you can't move to F# or find its tooling abysmal and slow then I have a library [1] that makes the inertia flow positively in the functional direction in C#
My current strategy is to hook my colleges in with languag ext until they move to f# themselves.
I thought that library looked familiar, and realised I was looking at it earlier today when I set up some F# job filters on stackoverflow (you're the only F# job on there that doesn't involve moving to London).
I hope they fix these warts. It can soon be a good alternative to Go for real native applications.
[1] https://github.com/louthy/language-ext/wiki/%22Why-don't-you...
I'm sure there are people out there debating F# vs C# for a new project, and might not realize how many future C# features are already in F# though.
If I'm making a simple API, I've already moved into territory where I'd prefer to use C# or something like that. The ecosystem is better and you can write it to avoid runtime gotchas.
Big languages/stacks can still write tiny programs.
Don't assume everyone is a fanboy/fangirl just because they have a recommendation.