Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
C# is programming language of the year 2023 (tiobe.com)
39 points by lavren1974 on Jan 7, 2024 | hide | past | favorite | 40 comments


Syntax is one thing, but C#'s ecosystem is probably the most sane that I have ever witnessed

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)


I just wish the de facto standard framework, ASP.net core, was more of a batteries included kind of thing.

Diving into an ASP.net application not written by you is frustrating because it’s almost like its own framework you need to learn.


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.


Go does this really well, too.


Any libraries that you would recommend? I always see a few libraries for any particular problem but it's hard to know the tradeoffs.


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.


Still tied up to windows though? Or does the Linux build work on par now?


In my experience .NET core works great on Linux.

It has actually been fantastic for writing small jobs that run in Linux docker containers.


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.


No, developing C# on Linux has been exactly the same as on windows for a very long time. Not since Framework and Core were separate things.

The modern C# Linux experience is indistinguishable from Windows.

When I'm in the office, I use Windows, when I work from home it's on Linux. Same projects, no problems.


Try to do GUI stuff, or debugging parallel code in VSCode on Linux.


Rider works fine for me.


After paying for it.

Meanwhile other FOSS ecosystems, get everything as free beer, including InteliJ stuff.


That's really not relevant.

Your problem is that VSCode is broken, not C#.


IntelliJ Idea for Java is not exactly free either. How would you go about debugging parallel code in Go, Rust or C++ there?


It certainly is, Community edition, available in macOS, Linux and Windows, contrary to VS Community that is Windows only.

What the hell has Go, Rust or C++ to do with C# and .NET code?


C# hasn't been tied to Windows for a very long time. It works just the same on Linux.


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.


Partially, Microsoft is leaving to the community to care about GUI frameworks, not even MAUI is getting first class Linux support.

Additionally they see VSCode as good enough, with top tier experience available on VS proper.

So if you want the same tooling experience across the board for all .NET workflow as VS, you need to buy Rider.


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.


Top 3 is C#, Scratch and Fortran according to this article ? What kind of ranking is that ?

I think ranking programming languages is dubious in general but this goes to another level.


>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.

In the index it's Python, C and C++


Sounds like an award for the highest statistical error of the year.


Tiobe index is just bad, I used to put more faith in Stackoverflow questions, now I just look at subreddit subscription totals or job postings.


They are not too three. They are the three languages with the biggest uptick.


>C# is eating market share from Java and is getting more and more popular in domains such as web application back ends and games (thanks to Unity).

What is this based on? Presumably nothing. What a weird PR piece.

Claiming anything is eating market share from Java is like saying a toddler is catching up to an Olympic athlete.


> Claiming anything is eating market share from Java is like saying a toddler is catching up to an Olympic athlete.

What is this based on? Presumably nothing. What a weird PR piece.


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.

Good luck.


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.


According to the rating javascript is 5th. I find that quite suspicious considering that it powers the web


God damn! R is below F# and....D? What the hell is D?



>What the hell is D?

I hope this is a joke, in that case it would have been better with XD or /s.


I use it daily


How do you setup and run C sharp these days. It’s a real headache. And forget all about gui.


Install the dotnet SDK.

    dotnet new console -o Test
    cd Test
    dotnet run
Done.

Complaining about GUI development is misleading; GUI development with any toolkit is more difficult than console apps.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: