Live data from Hacker News

The Case for C# and .NET

chrlschn.medium.com

311–320 of 376 posts

Re: The Case for C# and .NET

#311
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

us old farts remember Microsoft (and Gates) as true villains. Things have changed but those wounds run deep and the scars remain. Every time i see the Bill and Melinda Gates foundation in the news all i can see is Bill trying to buy his way into heaven.

Same, except I don't still trust him or his foundation. The foundation is a tax dodge to push their unelected will on the population.

In proper society, the population would get to vote on the initiatives they care about.

Re: The Case for C# and .NET

#312
post #294

Earlier quoted context omitted.

No language has been tied to an IDE since at least early 2000s. Microsofts own compilers are free to use. So no idea what you're talking about when you talk about "a language that doesn't rely on paying for an IDE". And the tools for most of the languages supported by the open community? The top, best-of-breed of these tools can barely do the bare minimum of refactoring and maybe symbol lookups. Even to this day you…

On the other hand, I have no idea what you're arguing about any more. The context is about using VS Code (or something else) with OmniSharp instead of VS and Rider; what does the bare minimum of being able to compile code have to do with it? It's almost like you're making my point: if you want to be productive with C#, you have to use proprietary tools; otherwise, all you can do is just compile your code! > And, surp…

> The context is about using VS Code (or something else) with OmniSharp instead of VS and Rider

This is what you said, in it's entirety: "Maybe it's good to have an open ecosystem for using the language that doesn't rely on paying for an IDE? I personally soured on Kotlin for this same reason!"

And then you go ahead and praise a tool that implements LSP...

Do you realise that "open ecosystem" literally couldn't produce anything of note for any language until the megacorporation you love to hate came along and provided a solution? It wasn't "open ecosystem" that gave you the language server protocol. It was Microsoft that designed it and implemented it for their own VS Code. And the "open ecosystem" that sat on its ass for decades flocked to it and to the protocol like kids to the Pied Piper of Hameln.

And again with "you need paid IDE to develop this and that". No. You don't. There's LSP for C#. There's LSP for Kotlin. You'd know that if you went ahead and looked just slightly beyond your blind hate of commercial IDEs.

Re: The Case for C# and .NET

#313

The article mentions it, but I'll reiterate: the .NET CLR is fantastic. C# is a great language for the backend: GC'd, lots of libraries, fast runtime, and expressive enough. Do I wish it was more functional? Absolutely. But it doesn't aspire to be that. The ecosystem deserves mention. There are some high-quality libraries that work well, even if they aren't the most popular. Take objectional relational mappers, for i…

> ...objectional relational mappers...

love this typo.

will use objectionable-relational mappers from now on.

- objectionable - adjective, arousing distaste or opposition; unpleasant or offensive (definition source: Oxford Languages)

Re: The Case for C# and .NET

#314
post #291
post #277

Earlier quoted context omitted.

Rider has pretty decent F# support. Maybe not that many refactorings available, but it's IMHO worth it for the better language ;)

Only if we consider the language in itself, without the .NET ecosystem for GUI, databases, code generators,... Where it is pretty much DYI.

I have never used a code generator for C#, which one do you have in mind? Pretty much all other .NET things can be used from F# equally well as in C#

Re: The Case for C# and .NET

#315
post #257

The thing I miss the most with C# and dotnet is offline documentation. With Java, I can install the java-17-openjdk-javadoc package and have the full API reference (at /usr/share/javadoc/java/index.html), and download a couple of PDF files to have also the full language and bytecode specification. With Rust, I can install the rust-doc package and have the full API and language reference (at /usr/share/doc/rust/html/i…

Most topics on docs.microsoft.com have links to pdf, e.g. https://docs.microsoft.com/en-us/dotnet/csharp/ have "Download PDF" in bottom left corner which links to 2756 pages of C# documentation: https://docs.microsoft.com/en-us/dotnet/opbuildpdf/csharp/to...

Re: The Case for C# and .NET

#316
post #314
post #291

Earlier quoted context omitted.

Only if we consider the language in itself, without the .NET ecosystem for GUI, databases, code generators,... Where it is pretty much DYI.

I have never used a code generator for C#, which one do you have in mind? Pretty much all other .NET things can be used from F# equally well as in C#

Rosylin code generators, the modern way to use compile time reflection in C# and VB.

You can bind them to code attributes, no more INotifyProperty by hand or by having common base classes.

Re: The Case for C# and .NET

#317
post #302

Earlier quoted context omitted.

I certainly hope that the Python language maintainers do not see C#,Go or Java as their competition. I like Python as is.

They definitely see Go as direct competition, or did at various points. Some of the work that was done in Python 15 years ago is now done in Go, mostly because of its superior support for highly-parallel workloads; so Python developers have reacted and improved the parallelization story in various ways (yes, it's still not as good as it could be, but it's undoubtedly better than it was when Go took a significant bite…

I don’t see Python having a lot to offer in terms of technical merit really. Python’s strength is language ergonomics and fun factor. I hope they keep it that way.

Re: The Case for C# and .NET

#318
post #294

Earlier quoted context omitted.

On the other hand, I have no idea what you're arguing about any more. The context is about using VS Code (or something else) with OmniSharp instead of VS and Rider; what does the bare minimum of being able to compile code have to do with it? It's almost like you're making my point: if you want to be productive with C#, you have to use proprietary tools; otherwise, all you can do is just compile your code! > And, surp…

> The context is about using VS Code (or something else) with OmniSharp instead of VS and Rider This is what you said, in it's entirety: "Maybe it's good to have an open ecosystem for using the language that doesn't rely on paying for an IDE? I personally soured on Kotlin for this same reason!" And then you go ahead and praise a tool that implements LSP... Do you realise that "open ecosystem" literally couldn't produ…

Honestly, you've been attacking me personally for quite some time now for no reason (I've done the courtesy of not attacking you, perhaps you could try to do the same?) so I'll not bother responding after this. At any rate,

> You'd know that if you went ahead and looked just slightly beyond your blind hate of commercial IDEs.

Maybe you missed me saying I use IntelliJ professionally in the previous comment? I'm a happy, paying user of JetBrains IDEs, I've defended them several times on HN myself. I don't hate commercial IDEs; I hate being forced to use them.

It's extremely bizarre that you assume I'm trying to cheap when I'm trying to be principled: I believe the presence of free (as in speech) solutions are essential for me to seriously consider a language. Being tied to a corporation's whims to efficiently use it is ridiculous; I was a happy F# hacker myself until I saw the more recent moves MS has been making. I think what they're doing - replacing omnisharp with a closed source solution and the debacle with trying to make hot reload a paid VS feature being two major, recent issues - show that MS simply cannot be trusted to run a language ecosystem without trying to force its users into behaving as they want them to. There's simply no reason to invest any time into the dotnet ecosystem when there's very comparable languages with comparable performance and ecosystems which don't have this issue.

> And then you go ahead and praise a tool that implements LSP...

What? I'm afraid you've completely lost me here. It doesn't matter that MS came up with LSP, so long as the protocol is open and people can implement and use it without MS's approval. Dozens of editors that have nothing to do with MS implement LSP, the fact that it was made by them is almost incidental.

Re: The Case for C# and .NET

#319

Earlier quoted context omitted.

That sure isn't my understanding if you work for a large enough business. It is very explicitly NOT free. https://visualstudio.microsoft.com/license-terms/mlt031819/ This is the rare post where I would be fucking ecstatic to be proven wrong but sadly I believe I'm correct.

Yes, VS is free for individual devs, and for five users in a small business. Does it matter though? If you're too cheap to pay for developer tools, you're probably a terrible place to work at.

Why is it assumed that you're only ever professionally working on code? Do none of you work on side projects, or open source projects?

Re: The Case for C# and .NET

#320
post #163

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…

> that the official repo can only "unlist" packages, not delete them or that the publish times sometimes have horrible delays It's to avoid the npm left-pad problem. nuget.org packages are idempotent. For the publish times, I found out you can cut it in more than half if you tell nuget to ignore caches.

Idempotent, in which way? Do you perhaps mean immutable?
Post reply on HN