Live data from Hacker News

The Case for C# and .NET

chrlschn.medium.com

221–230 of 376 posts

Re: The Case for C# and .NET

#221

This thread shows there is still a large amount of FUD around .NET and it’s community. Folks here still think it’s Windows-only and comparable to Java. Yet latest TechEmpower benchmarks shows .net running on Linux and being faster than Go, Python, Node, and Rust.

Whats wrong with comparisons to Java, and why the need for you and the article author to throw shade at Java while singing the praises of C#? Java and C# are very similar languages.

Shitting on Java is part of .NET ethos (I've worked in a couple of .NET shops)

Re: The Case for C# and .NET

#222

Earlier quoted context omitted.

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 o…

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 Ri…

This is terribly ignorant

Re: The Case for C# and .NET

#223

Earlier quoted context omitted.

IMO Python and C# are not comparable. Python is at best a simple scripting language, you really can't build anything globally scalable on it. No offense to people who use Python daily, just my own observations (probably wrong).

the biggest python codebase I'm personally aware of is JP Morgan's Athena and is about ~30 million LOC. Google, Youtube and Dropbox use Python extensively etc. Python being a scripting language stopped being a correct statement probably over a decade ago.

Keep telling yourself that and it will become true.

Re: The Case for C# and .NET

#225
post #176

Earlier quoted context omitted.

Curious, what is it with Microsoft that makes it so poisonous for you that you won't touch anything they make with a ten foot pole? As an example, I'd say Facebook (Meta) is a way more toxic company but I've never heard of a developer have moral arguments against using React

I'm using Linux for 20 years, and witnessing what Microsoft is doing for more than 25. Being openly hostile towards Linux and plotting ways to lock it out of hardware platforms and tech ecosystems is enough of a motivation for me. It's not only their stance against Linux only, but everything competing with them. I believe hardware and software should be open and platforms shall compete openly. I don't use any vendor…

> I use Java because there's OpenJDK

Which is mostly (~95%) developed by Oracle and is about the same in its openness and community participation as

https://github.com/dotnet/runtime/

is.

Or maybe you meant OpenJ9?

FWIW I also use Linux exclusively, develop (and host) dotnet applications on it, and have my own gripes with it (mostly with Linux still being treated as a second-tier platform which is only good for servers as far as MS is concerned — I'm not talking about the abomination that VS is — try to compare the official profiling & debugging tooling).

Re: The Case for C# and .NET

#226

I also think that C# and .NET are awesome. Especially latest releases dotnet 6 and upcoming 7 have a ton of new things to be even more productive. I like the fact, that you can develop command line apps, Web APIs, Desktop Apps and smartphone apps all with the same toolset, including the fact that deployment is possible on nearly every major platform for every major platform (except iOS and macOS Apps, as always only…

About the 'dependency problem': It's not as bad as in npm with node_modules, because .NET provides a lot of base functionality in the standard library. But when you start to use multiple nuget packages, sooner or later you will also enter dependency hell, where managing versions and updates of nuget packages gets very painful. All in all we have to reference about 10 external libraries. The visual studio nuget packag…

Our dev loop playbook at work has an advice to never touch Visual Studio's nuget package manager haha.

Instead, dotnet CLI + VS Codes find+replace does a very good job at managing dependencies. It has never been a pain and on project build, all imported version will be consolidated to a single one anyway.

Re: The Case for C# and .NET

#227
post #205

Earlier quoted context omitted.

I'm using Linux for 20 years, and witnessing what Microsoft is doing for more than 25. Being openly hostile towards Linux and plotting ways to lock it out of hardware platforms and tech ecosystems is enough of a motivation for me. It's not only their stance against Linux only, but everything competing with them. I believe hardware and software should be open and platforms shall compete openly. I don't use any vendor…

> I believe hardware and software should be open and platforms shall compete openly. I don't use any vendor which openly kills this interoperability and try to corner market with underhanded tactics. [..] Similarly I don't use Rust because it's LLVM only for now. I'm curious, what do you have against LLVM? I'm sure it supports fewer backends than GCC, no surprise given their relative ages, but it's still got quite a…

I think the point was not against LLVM itself, but rather against languages for which only a single implementation is available, which is a pretty strong argument IMHO.

Re: The Case for C# and .NET

#228

Earlier quoted context omitted.

I tried writing a simple crud api with asp.net, which should parse and respond json. It was the worst development experience I ever had while writing json apis. Validation? Not existent. OpenAPI/swagger documentation generation? Not existent. Then it also tried to force me into using MVC, while acting that it is express with its middlewares. I switched back to node.js with fastify and wrote my app in an hour. I reall…

Totally opposite experience for me. C# + .NET ASP core Web Api framework + Swashbuckle + FluentValidation does out of the box what I still haven't seen a good solution for in the NodeJs world (which is the one I'm in now).

NestJS seems to hit the sweet spot for these. I'd add a proper Result type (from fp-ts) to get better error handling (than try-catch everywhere) and you're good to go.

Re: The Case for C# and .NET

#229

Earlier quoted context omitted.

If you're willing to go down the f# rabbit hole there's also Fable which I need to try but I've heard very good things about.

Yeah, but F# is even worse than C# in the sense that you need really talented developers to get anywhere. Which is not a problem on personal projects, but can be for the majority of companies.

Building a company based on Fable/F# now. We're in process of taking folks with 2-3 years of react exp and teaching them Fable - it's a pretty quick transition. F# tends to attract some pretty talented developers as well.

Re: The Case for C# and .NET

#230

Earlier quoted context omitted.

Quoted post unavailable.

> dead to students or any new users because nobody is going to fork out a couple hundred $ As all JetBrains products, it's free for students, open source projects, and classroom assistance, and training courses. https://www.jetbrains.com/rider/buy/#discounts And it includes an excellent debugger.

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.
Post reply on HN