Question for the experienced .net folks - how is the dev experience of .net on linux vs .net on windows? Is it smooth or clunky?

Pretty cool and interesting that a big linux vendor is on board with .net.

It depends a bit on what tools you use, but if you've jumped the ship from VS to VSC and mainly use the dotnet cli for things then there isn't much of a difference between platforms. If you're using VS, as in really use it and all it's feature, there is going to be a massive difference.

That being said, I've used .Net and C# for over a decade and it's frankly just a clunky language and toolset. It's gotten better with Core (now just.Net), but it's still just not there. It's not a secret that we've been doing more and more TypeScript where I work, but I recently did a little bit of Go and Gorm made EntityFramework feel like something from the stoneage.

So I'm not sure I'd really recommend it unless you already do a lot of .Net. It's not that it's bad, it's just that it's a dated way to build things in a world where the Java way of doing things makes less and less sense.

I feel like the "Java" way of doing things in C# is simply a byproduct of inertia and outdated habits. You can model domain with records in C# in a very concise manner (F# style), you can pass around raw memory slices with Span. Writing simple CLI tools is incredibly easy with top-level statements and implicit usings, or even using bFlat [0] or ProcessX/Chell [1, 2].

[0]: https://github.com/bflattened/bflat

[1]: https://github.com/Cysharp/ProcessX

[2]: https://github.com/mayuki/Chell