VS Code has a C# debugger on Linux. There are certainly limitations to the open source C# support in VS Code, but for students it should be easily sufficient.
If you want a language where not only the core and main libraries are open source, but also all the tools then C# is probably not the right choice. If free (but not open) tools for most use cases and paid tools for larger companies or higher-level demands are okay, then C# fits.
OmniSharp (VS Code extension for C#) has been discontinued and there is no replacement yet. Besides, Microsoft purpusefully sabotaged OmniSharp to make it so unusable that it forces people to use Visual Studio, so even if a beginner on Linux would decide to try C# with a discontinued product they would only face difficulties and a basically horrendous mostly broken experience. .NET on Linux is non existent without Rider and there is no way to sugarcoat this fact. It's sad how ignorant some people are about this and keep peddling untruths about C# that it is well supported on Linux when it isn't.
It is not discontinued, it is regularly updated, and all the interesting parts are coming straight out of the compiler project (Roslyn) which will be the source for all future alternative extensions. Surely, they have different interest and do not put too much money into OmniSharp.
Do I like that some part of the stack is closed source (like the debugger and in future the extension host): No! Does it lead to a broken or discontinued future: No!
Compared to my experiences with PHP, Java and JavaScript, C# on Linux is just fine.
I use vscode on Linux without any problems. Can debug and do all I need to do without any problems. Omnisharp may not be perfect but it works. It will be interesting to see what is going to replace it but short of the closed source concerns I’m fairly sure it will still work.
Rider is free for students and that is how I started using it.
Also, VS Code with OmniSharp isn't that bad for smaller projects for development and is pretty good for debugging for apps of all sizes (my 2 year experience with it).
So to claim that you cannot debug C# on Linux for free is false.
Only for some students. If you don't have an .edu address and your college or university is not in their pre-approved list, it's difficult to get a free license. It's a pretty typical attitude towards us coming from third-world countries though, and we developed our own ways of dealing with this.
And please stop this fake reality bullshit. NOBODY, not a single freaking person who wants to learn a new language will start off by searching the internet for an IDE and debugger where they can apply for a free license and then wait a few days so they can try it out. That is just ridiculous to even suggest.
If one wants to learn a language they download the SDK, open VS Code and look for an extension. If there is none or the one that exists doesn't work they basically say "WHAT THE FUCK IS THIS SHIT", close it and walk away with the conclusion that it's not well supported. Let's stay real please okay.
Then you should say: "a person who just starts with .Net".
> And please stop this fake reality bullshit. NOBODY, not a single freaking person who wants to learn a new language will start off by searching the internet for an IDE and debugger
I started with .net only 4 years ago. I went ahead and got myself Rider because I dislike VS Code and I already had 6 years experience with other JetBrains IDEs.
Oh look. I'm that "no single person" who went ahead and looked for an IDE. And bought it
> Let's stay real please okay.
Screaming nonsense at the top of your lungs doesn't make you any closer to reality.
> And please stop this fake reality [...]. NOBODY, not a single freaking person who wants to learn a new language will start off by searching the internet for an IDE and debugger where they can apply for a free license and then wait a few days so they can try it out. That is just ridiculous to even suggest.
I actually did. JetBrains products were really nice to try out whilst studying in university and eventually lead to me purchasing the ultimate tools package for any personal or professional projects that I might want to do.
It's really amazing to have the same set of tools for almost all of the languages that you might want to work with, that work consistently across all of the OSes that you might use. Normally I avoid paid software because of the vendor lock in, but a lot of the time it feels like JetBrains are just the company that you should reach for to avoid headaches, for better or worse.
For comparison, in the Java ecosystem, you also have Eclipse which has performance problems and an odd/unstable plugin ecosystem (though some swear by it) and NetBeans which has been handed over to Apache but doesn't really get much love or attention towards its development at all. Of course, some might use Visual Studio Code or another text editor with plugins but not being able to do refactoring across a project with 4000+ source files makes that approach dead on arrival for me, for all but the smallest projects.
The situation is pretty similar in regards to C#: you have Visual Studio which limits the platforms, JetBrains Rider which is a paid project, Visual Studio Code plugins which are insufficient and also something like MonoDevelop, which has pretty much been abandoned.
Every benchmark is a cheat and not a real-world problem.
I also thought their benchmark is a cheat. But it is not. It is testing exactly what the benchmark was testing in that scenario. That is why TechEmpower Benchmark suite is so powerful. It uses different web server scenarios (connection, JSON parsing, database connections, ...). The different test case implementation .NET and others have are making sure no other factor is influencing this. For example: when you benchmark connections why dealing with MVC, validation and database connections.
It is not .NET who cheats, it is the others who do not properly isolate the tested performance aspect.
And to make the comparison a bit more real and day-to-day applicable, you need to pick the right framework configuration (like aspcore-mw @ 80% / aspcore-mvc @ 37%) and compare with other reasonable scenarios (like express @ 1% / spring @ 2% / quarkus @ 8%). Both are then far of the top 10 ten list but still comparable. The top 10 combinations are for cases where developer productivity does not matter but throughput is the key (e.g. a DoH resolver or a system like a Cache / Database).
https://news.ycombinator.com/reply?id=32220935&goto=item%3Fi...
(Also the benchmarks are a cheat, look at the source code of C# vs the source code of Go or Java)