top | item 37476991

(no title)

stblack | 2 years ago

I just read the whole thread, and nobody has mentioned the culture of .NET.

In .NET culture, few developers share, fork, or communally develop code, and you sit around waiting for great Microsoft mother to deliver features. There is no ecosystem; there is one provider, and provider is beholden to a couple of guys and, beyond them, investment fund shareholders.

discuss

order

setr|2 years ago

I’ve been working on c# quite a bit lately, and I don’t think that’s true as much these days. The biggest things remain Microsoft-granted — asp.net, efcore, etc — but I’ve had little issues finding Nugent libraries for random issues like progress bars, weird formats, various excel libraries, etc all community-maintained & provided; my expectations on finding libraries is similar to python.

The biggest issue I’ve had is that some of these less popular libraries (both by Microsoft and not) have some truly tasteless APIs, I think mostly stemming from older versions of C#, and for some reason the lowest quality stack overflow answers are much lower for C# than in python — there appears to be much more cruft and outdated information in blogs, stack overflow in C#-land than python. Really in general I feel like python/rust has a higher floor for taste than C#, but at ceiling it’s competitive.

I’m pretty sure though that startup language choice has nothing to do with practical considerations — it’s largely a popularity contest based on hype cycles, and C# is well past its hype-prime.

Nullabillity|2 years ago

As you mention yourself, how many use .NET for web stuff without ASP.NET, or for databases without EFCore? Sure there are plenty of third-party "single-task libraries", but all the big architecture-impacting decisions tend to come from the ivory tower.

This kind of reply reeks of when Phil Haack tried to convince people that (the old) .NET Framework was "open-source friendly" because NuGet existed.

bencyoung|2 years ago

I think it certainly used to be the case, but I don't see this any more. Having said that dotnet is pretty "batteries included" so you can go a long way without too much third party stuff

dogma1138|2 years ago

There are 350K unique packages on Nuget about the same as PyPi…

n4r9|2 years ago

This is (no longer?) true, as others have mentioned. Just a few examples of great third-party packages that I use for many projects:

* MoreLinq

* Newtonsoft.JSON

* CommandLineParser

* log4net

* UnitsNet

* OsmSharp

* NodaTime

* GMap.Net

* ImageSharp

tompazourek|2 years ago

I'd add:

* Hangfire

* Quartz.NET

* NHibernate

* AutoMapper

* StackExchange.Redis

* the Castle project

* xUnit

* NUnit

* Serilog

* SimpleInjector

These are all very popular long maintained open source libraries I've seen used in many projects.

politelemon|2 years ago

A quick glance at the .net core repos shows your information is incorrect/out of date, which I think is one of the points op makes. .net features are also being developed by regular community members.

sebazzz|2 years ago

How many regular developer fork Java to work on the JRE?

gemstones|2 years ago

Libraries, not the core runtime.