I started my career in Java and transitioned to c# a few years in and c# is much better imo, especially now that .Net can be run in Linux.
I run a team for a large project (13 deployable components apis/ Windows services/ desktop applications/ websites/mobile) that has mix of vb.net/c# .net framework 4.8 and .net 6 soon to be 8 with angular for Web and wpf for desktop. Slowly but surely working to kill off our legacy code and consolidate.
Some of the older vb code (that existed long before I joined the project let alone became the lead dev) is so bad that a bug fix for nhibernate that stopped silently failing and began throwing exceptions breaks everything if we try to update to a later version. it’s such a tangled mess and I’m probably the only one on my team that could unfuck it(but I didn’t have the time to do it) it’s not even worth fixing even though our version of nhibernate has a CVE with rating of 9/10 (we don’t actually use anything that is affected from the finding thankfully) and are just biding our time till we kill off the offending apps.
Ohh and I have a new PM that isn’t technical and likes to email me his chat GPT queries and results about technical things.
.net can run on Linux now