If you are looking for something that will maximize your capability as a professional developer, absolutely yes. If you are looking for something to dabble in just for fun, I'd say its a much less important thing to worry about.
For me, the magic of C#/.NET (when used appropriately) is that the language can fall away and allow you to think almost directly in business terms. Features like LINQ are a major part of this experience. When I am working with a complex business domain, I really don't like the idea of playing code golf with my tools. Making the customer happy is far more rewarding to me than anything I could do on my computer.
Also, being able to minimize your vendor footprint to just "Microsoft" helps out a ton at due diligence time if you are selling software to other businesses.
I've been avoiding them as they were Windows only early days, and Entity Framework Core was too immature at the beginning after the open source wave.
Some points, from my PoV of developing business/CRUD type applications;
- .NET framework is well engineered solutions to most of the standard requirements in software development. I've spent countless hours looking for solutions in Python for common things like structured logging, validation, websockets, datetime utilities, cryptography, cli, unit conversions etc. when working with Python.
- There are a lot of features for reducing boilerplate. Getting better with every release.
- Static typing doesn't get in your way. Just the opposite. Eagerly waiting for discriminated unions.
- LINQ, especially when combined with EF Core, is godsend.
Just don't be a "language guy", my love for C# has kinda boxed me into a lot of enterprise software roles, particularly in desktop legacy and Cloud ERP. If that's what you want, more power to you.
People here love to rip on Java for a myriad of reasons, the ecosystem, boring enterprise roles. Well, Microsoft Java isn't too far out of that realm, don't let LINQ and fancy lambdas seduce you into thinking otherwise.
When you look at ugly old enterprise legacy code, it doesn't really matter what C-like language it's written in.
I know this wasn't asked, but last to say is, companies value employers who have a really good understanding of their products internal details and infrastructure. That's something you can't learn in a book or at school. They absolutely do not care about skills in these languages beyond expected competence. It certainly doesn't hurt, but there are a million other C# programmers who know advanced programming language features.
Once the Kindle version will be available I will buy it!