Assuming we are not developing for Apple devices, it’s C# all the way for me. I haven’t touched another language that I would choose over it. The language is clear and functionally complete and all I suspect I will ever need for desktop application development.
Sidenote: I am fond of using JS for web dev, though the looseness of the syntax and the whole ‘objects are just arrays’ things make it hard to recommend for beginners
Boss fights definitely, your sentiment reminds me of Warframe. Don’t miss farming bosses. However, there are a lot of ways randomized loot can be implemented, and I wouldn’t call all of them dark patterns