As someone who has picked up several languages through out my career - I found c# to have one of the lowest barrier to entry. IMHO, really well documented by Microsoft.
Yes, I also consider this experience as part of the learning curve. Java and Go have given me a poor development experience because I have to personally test many libraries (which takes time) before choosing one. It really wastes a lot of the company's resources (since people's work time equals company expenses).
Could you give an example? Compared to many other languages (e.g. C++, Java) which don't even have JSON parsing in the standard library (Go does), Go's standard library is very complete.
C# certainly deserves that recognition. With its regular updates and support from .NET, it has become easier to use and offers a rich set of features to achieve goals more effortlessly. I always tell my friends that today's .NET offers the fast performance of Golang, the easy learning curve of Python, and the rich features of Java.
It works on Linux. But you'll notice every now and then how it just doesn't quite want to fit in, especially the developer tooling around it. It's not that it doesn't work, you just stumble over minor annoyances that don't happen on Windows and VSCode (with the proprietary plugin). Quite a contrast to developing in Rust on Linux, for example.
Except for GUI frameworks, where you need to rely on the community, and for certain VS features you need to buy Rider, as VSCode is supposed to only be good enough.
So the problem with .NET is that you only have community-maintained GUI frameworks, opposed to other ecosystems where you have community-maintained GUI frameworks.
Their language of the year award seems like it's solely based on increase in popularity this year (wouldn't that be biased against more popular languages?).
> For the first time in the history of the TIOBE index, C# has won the programming language of the year award. Congratulations! C# has been a top 10 player for more than 2 decades and now that it is catching up with the big 4 languages, it won the well-deserved award by being the language with the biggest uptick in one year (+1.43%). Runners up are Scratch (+0.83%) and Fortran (+0.64%).
Still, well deserved. C# has been steadily innovating for a long time while Python, Go and Java move relatively slowly. In terms of syntax innovation only JavaScript has been at a similar pace it seems.
>it won the well-deserved award by being the language with the biggest uptick in one year (+1.43%). Runners up are Scratch (+0.83%) and Fortran (+0.64%).
They are the top three of the language of the year award not the index as such.
It's actually based on several different sources, though I know you're not interested in the constructive conversation or else you would have provided some type of support for the article, instead just merely deflecting the standards the article SHOULD have used towards my own personal comment. Which I'm sure you thought was clever, but it's not.
If you're interested in popularity, versus change in popularity, see the "Very Long Term History" section of the website. The consistent winner is C, which was the ranked number 1 or 2 in each of the eight report pentads. C# seems to be settling into the number 5 or 6 spot.
Working with differences can be tricky. So can working with ranks. Luckily, the site provides an interactive graph of index versus time for various languages, so readers can make their own decisions.
I'm not sure I care what is popular to the general community. I use multiple languages in my work, different ones for different things. Fortran and Scratch are like hammers and screw drivers: they are both handy, just for different things. The same for many of the languages in the listing.
When I'm managing a team of good developers, I trust their feedback on what the best tool for the job is. My lead developer is real strong in C#, so that's generally what we use for back-end development. On mobile we did C#/Xamarin just so we could "write once" for both Android and iOS. I would have been happy with flutter too, but the best guys I could hire locally were C# so we did that. It was a nice bonus to be able to share code between back-end and front-end though.
We've been happily using C# for damn near 20 years, even through rough patches like the transition to .Net Core or when Silverlight got abandoned by surprise.
A lot of well designed "standard" libraries
CLI with all things needed like compiler, package manager, test runner, publish for various archs/oses out of the box
Really strong IDEs like VS and Rider with really good debuggers
Small fragmentation, so jumping between companies and projects is not hard (at least from web dev perspective)