28 ms·
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 si
by stblack 3y 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.
- sebazzz 3y agoHow many regular developer fork Java to work on the JRE?
- gemstones 3y agoLibraries, not the core runtime.
- politelemon 3y agoA 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.
- dogma1138 3y agoThere are 350K unique packages on Nuget about the same as PyPi…
- setr 3y agoI’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 3y agoAs 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.
- ko27 3y agoThe reason is pretty simple. It's because those 1st party frameworks are awesome. There is very little reason to build something else when you can contribute to them instead. ASP.NET is crushing other web frameworks in performance on techempower benchmarks, it's up there with Rust frameworks. And EF is probably the best full fledged ORM in existence (when compared to something like Java Hibernate).
- tompazourek 3y agoNHibernate is quite popular alternative to EF and I've seen it used on many projects, especially big apps. Some smaller apps also choose Dapper (by StackExchange) and avoid EF. Regarding ASP.NET, you're right. There are some alternatives, but not used very often from my experience.
- bencyoung 3y agoI 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
- n4r9 3y agoThis 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 3y agoI'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.
- ryouko 3y agoAnother to add * MassTransit * AutoFac * MediatR * Elsa * BenchmarkDotNet