When I joined the .NET team in 2015, we were rounding out the first arc of the journey to be truly cross-platform, and June of 2016 released a 1.0. It was an absolute mess of a release, but it actually happened. You can bet your ass that "go after startups" was a part of the strategy - in my first team meeting we literally all read a blog post about how Go was picked over C# at Parse. I'm sure our execution of that strategy could have gone better, but it could have been a lot worse too.<p>Since then, I learned a great deal about how inertia within developer communities works. Every single year I'd speak with a skeptic and they'd have a "reason" not to use .NET that wasn't true. Eventually they'd land on a reason that was true, and in most cases, we were already working on it. We'd even find some past skeptics say publicly how they started paying attention, picked up the tech, and loved it. Fast forward to 2020 and pretty much every possible reason that isn't purely idealogical evaporated because we (hundreds of us) did an immense amount of extremely hard work. But by and large, the perception is still there.<p>The reality is that .NET was a Windows technology for a long time, operating in a space ("the enterprise") that's a wholly separate universe from startups. And people bring what they know into companies; they don't usually try to learn new languages or tech unless it's required for their job. And that's created a feedback cycle where .NET is <i>outside</i> the startup and high tech scene.<p>Yes, there's warts (don't get me started on how MSBuild isn't deterministic, although you likely wouldn't have known that...), but few people run into them. Yes, there's missing packages for some stuff but that gap closes every year. It's not about that. It's about a cultural feedback cycle that .NET is simply not a part of. The bet was that we could build great tech that works in most environments, sprinkle some marketing on it, and people will pick it up. That's largely not happened. Most of modern .NET is still in the same space that Windows .NET was, it's just that it's kept pace with (and sometimes led) the modernization of general tech in that space. That's largely fine because there's millions of developers there.