Hadn’t used Windows in years and that was my first exposure to PowerShell, which made me feel a little better about Windows.
Grew to greatly appreciate C# and .NET over the years and am now fairly optimistic that Microsoft has made a lasting change after seeing the steady, dramatic improvements that they’ve been making technologically and sociologically (embracing open source, cross-platform support, and putting their money where their mouth is).
Highly recommend that curious people install Windows 10 on an external HDD to try out WSL, Windows Terminal, and PowerToys Fancy Zones. I use Linux for my personal machines, still, but Fancy Zones has honestly had me missing the ease of desktop layout when I switch off my work machine.
Or, if you are just looking to explore C# and the dotnet ecosystem, then you can do that from the command line on most non-BSD operating systems.
Powerful, consistent, feature-rich. Coming from a python, java, web background, was really blown away. Wish more people would give .NET a chance. It isn't like it used to be when I first tried it in College and hated it.
.NET is in the corporate world but you'll have a harder time finding a .NET-related job if you don't already know stuff about it.
Since I don't currently use windows and I don't casually want to build a corporate type of software on another system in my free time (I'd much rather fold some origami, I'm likely one of the people that aren't called "passionate" about dev), I didn't get to be exposed to it easily - unlike "typical" web and mobile-related languages for example (Java, Obj-C/Swift, JS). Some of it might have been shown when I was a student (Java), and other things are just requirements of the times (I want to try making a mobile app -> either web or native languages). Didn't see .NET at university, and early jobs didn't involve that, so now it feels like a missed train somehow.
Is it worth focusing on when you're not already living in that ecosystem and you're on your own?
I ended up in a C# role by chance coming from a non-software background and it can often feel like a separate world; so many discussions in the other ecosystems just feel less relevant since C# is so batteries included you rarely have to venture outside the confines of the officially mandated environment.
While there's a lot of stuff in the corporate environment on Windows servers and old full-framework code there's also a healthy and growing Linux first community using .NET.
I don't know that I'd recommend it particularly from outside if not trying to start a .NET role specifically, I don't think (based on the languages you list having experience with) it will help you learn anything particularly new, in the way that learning a functional language does for someone with an OOP background. Though LINQ is quite a nice way for people unfamiliar with functional programming to ease into it from an OOP environment.
With .NET 5 / dotnet core the getting started is easier than it used to be (thanks to dotnet new https://dotnet.microsoft.com/learn/dotnet/hello-world-tutori...) and a lot more like other languages/frameworks, but without a specific aim I think it's going to be hard to be motivated to get in-depth with the environment.
To be clear I wouldn't want to work in any other language or framework (though React with functional components and TypeScript comes pretty close to the developer experience quality of C#/.NET) but I'm just not sure how porous the ecosystem boundary is and how transferable the skills are.
A skillion years ago I had to do a .NET project and somewhat randomly chose VB.NET as the language over C#. However, I did buy some C# books which I never looked at. Given that the books are now about a decade old, is there any point in keeping them? Has C# changed enough in the years that the language is sufficiently different from what was created in the book that I might as well pick up a newer volume?
I tend to gravitate toward stability in languages. Something of a flaw of mine.
Also some libraries changed around a bit during the transition to .net core, so some the code in your book may not compile.
Finally, if it's a book about web dev (asp.net) or something similar (mobile dev, game dev), that stuff has changed a lot over the past ten years.
You're probably best of ditching the books and hitting up some tutorials or checking with your local library. My public library gives us access to safari books online which has a large selection of technical books.
The newer idea of middleware pipelines in ASP.NET do a good job of hiding some boilerplate and there are even libraries like Flurl or Polly (which is now officially a part of .NET, itself) that reduce the code you have to write for things like http requests and resilience policies.
.NET Core is fantastic. I recently bought an M1 Macbook Air (which I really hadn't wanted to do but my Intel Macbook died and I wasn't about to buy another Intel Mac given they are being phased out.) There's one issue in that debugging is broken at the moment, but it's being addressed by Apple/MS. Docker (M1 Preview) works great.
If you've never given .NET a shot because you weren't/aren't a fan of Microsoft/Windows - I recommend you give it try, you might be pleasantly surprised.