As a Rubyist, I'll admit that C# is the least bad of the C++/Java style of static OOP languages, but it was that it was always too tied to the .NET ecosystem and heavyweight enterprise tooling more than Microsoft's “supervillian role” with regard to FOSS that made it unattractive for lots of places where I would want to use Ruby. That's improved with Core, somewhat.
The thing I always hated most about the .NET ecosystem was having to run on Windows Server, so that's definitely a welcome change with .NET Core.
But C# has always been a wonderful language to work with. And you never really feel the static typing slow you down, yet get all the benefits of not having to write a bunch of useless tests that replace what a compiler should do in the first place.
(Not trying to make this a dynamic/static flame war by the way. I'm a full-time elixir developer nowadays, so I'm still in dynamic-land and enjoy it. Just not dogmatic about any of it)
ps. my personal favourite programming languae at the moment is by far Julia and I encourage anybody to have a peek at it - I've missed it somehow[1] [2]; followed by crystal
[1] https://youtu.be/DRKKAFYM9yo [2] https://youtu.be/HAEgGFqbVkA
There's a parallel world out there where the Gnome project and Linux distributions rallied around C# as a strong way to write applications, instead of the weird backlash/demonization they all soon received that ended such a brief "golden age".
.NET Core is an absolute pleasure to work with, and while I'm not into Razor views, the web startup modularity and extensability of the pipeline make swapping out solutions a breeze. I can run a full React app in some a wwwroot folder that has almost 0 dependencies on the outer C# code, such that I can plug out the folder and copy it into a new directory and run it like any other React application - that was mind-numbing with ASP non-Core. I love it