Thoughts on C# and .NET
I think the language is great, if you can tolerate windows, it&#x27;s a great way to write in the same language desktop applications, CLI and websites, and with wasm even web clients. It&#x27;s the right mix of performance and high level language for my taste, and the tooling (visual studio) is fantastic. The integration with Windows makes a lot of things easy within a windows ecosystem. Also the self contained nature of the binaries makes deployment a lot easier than say python (everything is xcopy compatible with little dependencies on the client).<p>However in term of recent evolution, I feel that under Anders Helsberg there was a focus on simplicity. Then Anders moved on, and anarchy followed, with multiple frameworks, multiple attempts to combine them into one framework, and ultimately the greatest of all sins for a language: breaking backward compatibility (.net 4.8 vs 6). And it feels everything is getting complicated, command line first, async everywhere which makes everything multithreaded, prone to deadlocks and hard to debug.<p>The original c# had a great set of core libraries, however it has now fossilised. I think the owners of C# feel it is not their job to &quot;update the batteries&quot;. So for instance their drawing library still doesn&#x27;t support HEIC and might never do, they only added a json serialiser recently (yaml probably never). Instead you need to rely on a myriad of third party libraries with version conflicts, dozens of assemblies, and god knows if they will be available or maintained 10 years from now.<p>So while I am heavily invested in C# myself, probably too much to switch now, if I had to start from scratch now, I don&#x27;t know that C# would be my first choice. But the need to rewrite everything for .net 6 might give me the opportunity to do that however I really don&#x27;t have the time for that now.