I think this states the case pretty well. I'm working with F# again for the next few months. While I enjoy the language itself, I have some gripes about the ecosystem, particularly when developing primarily on Linux. (Customer is enterprisey and wants .NET, I am less enterprisey and very impatient with Windows.)
* Old, inconsistent, and incomplete information about F# development on Linux
* Unfamiliar tooling that doesn't conform to standard ways of doing things on Linux. Can't I just write a makefile?
* gacutil: why is there a GAC in the first place? Why a cache, and why on earth would I want it to be global?
* the dotnet tool: so much XML! Why would I want to go with .NET core if it takes 5 XML configuration files to write "Hello World?"
* Mono versus .NET core: very little clarity on what the difference is or why I should choose one versus the other, or even whether it's necessary to choose? Two different compilers, same project, same language. Why can't I pick at build time? (Or can I?)
* Old, inconsistent, and incomplete information about F# development on Linux
* Unfamiliar tooling that doesn't conform to standard ways of doing things on Linux. Can't I just write a makefile?
* gacutil: why is there a GAC in the first place? Why a cache, and why on earth would I want it to be global?
* the dotnet tool: so much XML! Why would I want to go with .NET core if it takes 5 XML configuration files to write "Hello World?"
* Mono versus .NET core: very little clarity on what the difference is or why I should choose one versus the other, or even whether it's necessary to choose? Two different compilers, same project, same language. Why can't I pick at build time? (Or can I?)