also C# is fine if you want a C# job. I probably should have said that. My view is it will not be around for the longest time. MS just released typescript (ms varient of nodejs), and most mission critical stuff is done in other languages.
Two examples why I don't write more C#:
Orginally the startmenu/taskbar was going to be written in C#, they scrapped it and went back to C++ b/c performance was so bad. (And I'm assuming plagued with memory leaks).
If you try to play the C# Hearts thats included on Windows7, on a 2ghz machine with onboard video (no d3d acceleration) - its so slow it's completely unplayable. Apparently even the MS-engineers could not make a simple card game work on a non hardware accelerated system.
1) "typescript (ms varient of nodejs)" - no, it is not. "Project Helios" is Microsoft's Node.js. Typescript is just a way of adding static typing to JavaScript.
2) Unity makes an extensive use of C#, are you saying that e.g. recent Angry Birds franchise games are slow? Are these games slow: https://unity3d.com/showcase/profiles? Are XNA/MonoGame games slow as well?
sorry i got the name wrong on the js part, it was a while back.
That said, this isn't an either/or question. One can learn more than a single language at a time. A decent programmer, IMO, has knowledge of several languages, and there is no disadvantage at all in making one of those C#.
IMO no c# isn't a good move next. They bungled garbage collection and it leaks memory like a siv. Even in a simple case it leaks like a VB program would. They bungled silverlight and it's dead now after like 5 years of developers using it and millions of dollars worth of apps built on it.
If you want to work on best-practice you should stick with go or java or clojure.