3 ms·
> Anything C# can do... Yes, yes, you can do anything in F#, but what should you do? My opinion is that that what F# is missing is a good set of idioms and a
by nlawalker 7y ago
> Anything C# can do...
Yes, yes, you can do anything in F#, but what should you do?
My opinion is that that what F# is missing is a good set of idioms and a strongly opinionated set of guidelines. To my beginner's eyes, every F# codebase I've seen feels like it's written in a completely different language; it's like the opposite of Python's "one right way to do everything".
I've heard that F# is great for domain-specific languages, but in most cases a DSL is the cardinal opposite of what I want. I want a common language that I can use to express a multitude of different concepts. It seems like all of the guidance out there about F# is about showing off features, being extremely clever, or using F# to teach functional concepts, not actually about writing useful applications.
- GordonS 7y agoAs a long time C# dev who has dabbled with F#, I kind of feel the same. I always find myself structuring appa like an OO app, which invariably results in something that feels wrong. For someone for which OO is so entrenched, it's really difficult to think differently - and there doesn't seem to be an idiomatic way to write F# code (not that I've found, anyway); every code base seems to take a different approach.