1. 9

  2. 6

    For what it’s worth, Mono is around both as:

    • A runtime in .NET 5. You can use the dotnet command and everything. The BCL is unified between them. Mono is better (or the only option) for some scenarios like mobile or WebAssembly.
    • A standalone thing for people who can’t/don’t want the CoreCLR stuff with it. Because it doesn’t have any of that, it is a lot simpler, but the .NET ecosystem has unfortunately had a blind spot towards Mono’s native tooling. This is probably where the marginalized stuff ends up and I doubt it’ll be as well supported as it used to be.

    I’ll admit that as an individual I never found the .NET 5 messaging very clear.

    1. 3

      Agree. Mono compiler order of magnitude better than MS once. You guys did solid job. Thank you.

      C# is wonderful language, just ecosystem is always tied to MS and that hinders progress. .NET community still gated there are no viable alternatives to asp.net core in reality that can match due to MS kind of heavily pushed people into using their libraries and tooling only. This makes ecosystem extremely single vendor centric.

      1. 5

        Yeah, the constant ignoring of Mono years ago both from the rest of the .NET world and the FUD spread around by the FSF was a huge bummer. It sucks that it took CoreCLR (which I don’t like the implementation of for reasons, personally) for people to realize “oh, .NET is actually cross-platform”.

      2. 3

        The .NET messaging ever since Core came out (VNext, etc.) has been horribly confusing. Combined with the project.json vs csproj flip-flop, and the added friction to deploy CORE in legacy IIS shared servers, and a ton of out-of-date documentation online, it has made development rather time-consuming and frustrating.

        1. 2

          Yeah, I have many beefs with Core. One of my biggest is breaking binary compatibility and conventions for nebulous reasons, but not bothering to clean up the BCL in the process.

      3. 4

        This is especially significant since .NET Core is now the mainline system. So .NET 5.0 can run on Windows, Linux, Mac, etc. Additionally, you can build easily distributable binaries just like you can with Go. So this makes it pretty easy to build servers and CLIs for Linux with C# or F#. I’ve built a few CLI tools in F# and the experience has been good.

        1. 3

          could you expand on ‘etc’. part

          I am intrigued by F#, and if I am to make an investment into learning and deploying a new language, I would like to cover the 2 mobile platforms, and all of the *BSDs

          would .net core in 5.x + support the above?

          1. 3

            There was an effort when .net core was first announced to support freebsd at least. You can find info on github. I stopped following but I believe the point is that it’s possible to support other OSes (and definitely the article says they support aarch64) with some effort