Live data from Hacker News

.NET 10

devblogs.microsoft.com

261–270 of 605 posts

Re: .NET 10

#261

Every time I read about new .NET version improvements I always remember my attempt to get a job using this stack in my local job market (Greece), where .NET Framework is super prevalent, majorly used by classic companies that don't even give you a fair technical chance if you lack a degree, and the devs are considered to be a cost center. I really, REALLY wish I was in another timeline where I could say in an intervi…

Somehow, .NET jobs seem be tied to waterfall processes ("but we are still agile, because we release two times a year"), requirements in OneNote, and a 5 kg Windows laptop.

Re: .NET 10

#262

Earlier quoted context omitted.

Recommended by whom? I've been doing .NET for 23 years (since the first beta) and I've never paid for a single library in any commercial project I've been part of.

Moq, lots of PDF libraries, Avalonia, Automapper, MediatR, MassTransit,Telerik stuff,etc. I'm not inherently against it, we have a problem with opensource being asymmetrically underfunded and if people going commercial is the cost perhaps we've failed.

[deleted]

Re: .NET 10

#263

Earlier quoted context omitted.

Recommended by whom? I've been doing .NET for 23 years (since the first beta) and I've never paid for a single library in any commercial project I've been part of.

Moq, lots of PDF libraries, Avalonia, Automapper, MediatR, MassTransit,Telerik stuff,etc. I'm not inherently against it, we have a problem with opensource being asymmetrically underfunded and if people going commercial is the cost perhaps we've failed.

Avalonia is FOSS (MIT licensed). You only need Avalonia XPF if you are migrating legacy stuff.

Moq is largely unnecessary today with LLMs being able to easily generate mock classes. I personally prefer to hand-roll my mocks, but if you prefer the Moq-like approach, there's NSubstitute (3-BSD).

Automapper and MediatR are both libraries I avoided prior to the license change anyways, because I don't like runtime "magic" and not being able to trace dependency calls through my code. But, there is Mapster and Wolverine to fill those needs (both MIT). Wolverine can also replace much of MassTransit.

Telerik stuff - there are many good FOSS alternatives to these UI components; too many to list since it depends on which stack you're using.

PDF is indeed a sore spot. PdfPig is good, but limited in capability. I've started offloading PDF processing to a separate Python container with a simple, stateless Flask API with PyMuPdf.

> we have a problem with opensource being asymmetrically underfunded and if people going commercial is the cost perhaps we've failed.

Completely agree with this, though. My company and myself personally contribute a lot of time back to OSS, and I feel like that is part of the social contract of OSS. To have these libraries rug-pulled feels like a slap in the face as a OSS contributor and maintainer.

Re: .NET 10

#264

I usually feel ambivalence with announcements of new C# versions. Yes, a lot of great features have been added over the years. But it also introduces some amount of cognitive load and confusion. Take the first new feature in the example: > Field-backed properties simplify property declarations by eliminating the need for explicit backing fields. The compiler generates the backing field automatically, making your code…

Previously, if you wanted to add that Trim in, you needed to define the field behind.

You could have:

    public string Name { get;set; }
Or you could have:

    private string name;

    public string Name {
      get;
      set { this.name = value?.Trim() ?? string.Empty; }
    }
So you needed in the second case to also declare name as a field. The new syntax avoids having to do that "double" declaration.

Re: .NET 10

#265
post #197

Earlier quoted context omitted.

Those things have nothing to do with C# though, rather than your personal experience with companies that were using it. If I judged every single company i worked at/interacted with, that uses NodeJs, I'd think that every single Node dev is a 13 year old child with no real experience but who think's he's the hottest shit. That has nothing to do with Node and doesn't really describe _all_ the companies out there.

The problem is thats how a lot of .net shop operate. I say this as .net developer. .NET gets selected because a lot of non tech companies need to do software things, and they pick the stack fits in with their current WinTel stack. The main concerns is having replaceable talent to reliably do x. They're not trying to innovate. They are often doing something like sending out insurance quotes by email. They do this by h…

Imo, you're criticizing "enterprise" development, not .NET/C#.

Re: .NET 10

#266
post #2

For us, every .NET upgrade since .NET 5 has gone surprisingly smoothly and reduced CPU/RAM usage by 10–15%. We were even able to downgrade our cloud servers to smaller instances, literally. I wish .NET was more popular among startups, if only C# could get rid of the "enterpisey" stigma.

> I wish .NET was more popular among startups, if only C# could get rid of the "enterpisey" stigma. I tried .NET and liked C# as a language. But even though the language and runtime are now open source, it seemed like a lot of the recommended libraries were still commercially licensed, which was an immediate nope from me. I've never encountered that in any other ecosystem.

Remember when people were selling COM objects in Dr Dobbs journal ads for Visual Basic in the 90s? I think it's the same culture (and partially people) that has been bought over to the .NET world via VB.NET as it was always touted as the stepping stone.

Nothing has ever forced anyone to depend on commercial libraries, there has been some upsets as people has closed-source previously popular opensource libraries.

But in the end, sometimes it feels like open-source in general is just waiting for a Jin-Tia moments everywhere, if people go commercial to prevent that happening that's just an indication that we've failed to create alternative ways of _living_ that can support open-source (this is probably most damning on companies that prides themselves on building on-top of opensource).

Heck, remember that tjholowaychuk created tons of (some popularly still used) npm packages early in the Node.JS lifecycle before first moving to go and then abandoning open source altogether.

Re: .NET 10

#267

Earlier quoted context omitted.

I worked at a Microsoft shop, and this was my experience. 1. Process, process, and more process. Doing anything required layers of management approval. Trivial tasks become month long, or even years long, processes. 2. You have no power or agency. Something is broken? You're a developer, you should be able to fix it right? No. Broken things stay broken. You swim in your lane and keep your head down. Mediocrity is the…

Congratulations, you worked at a huge company. Nothing to do with the tech stack.

Yea, this is "enterprise" development 101.

The fact that large companies pick an established tech over newer ones isn't about .NET/C# per se, it's about large companies and the way they work.

Re: .NET 10

#268

I usually feel ambivalence with announcements of new C# versions. Yes, a lot of great features have been added over the years. But it also introduces some amount of cognitive load and confusion. Take the first new feature in the example: > Field-backed properties simplify property declarations by eliminating the need for explicit backing fields. The compiler generates the backing field automatically, making your code…

Previously, if you wanted to add that Trim in, you needed to define the field behind. You could have: public string Name { get;set; } Or you could have: private string name; public string Name { get; set { this.name = value?.Trim() ?? string.Empty; } } So you needed in the second case to also declare name as a field. The new syntax avoids having to do that "double" declaration.

> The new syntax avoids having to do that "double" declaration.

Yes, that's right. It is in other words a way to access the compile-time generated backing field for auto-implemented properties. It is quite nice to be honest, I just wish they presented a bit of context in their announcements.

Re: .NET 10

#269
post #201

Earlier quoted context omitted.

Isn't the official .NET debugger only allowed to be used from Visual Studio and VSC? I recall Jetbrains had to remove debugging support from their IDE for a while due to that license. Also the whole kerfuffle around hot reloading first being added to .NET (Core) and then the code being deleted because it was supposed to be a VS-only feature. These things to me seem like one faction in MSFT wants .NET to be an open pl…

There is WinDbg which can debug CLR code, but that is Windows only.

The .NET debugging extension (SOS) is not Windows only, it supports LLDB on Linux in addition to WinDbg:

https://learn.microsoft.com/en-us/dotnet/core/diagnostics/de...

Re: .NET 10

#270

Earlier quoted context omitted.

Moq, lots of PDF libraries, Avalonia, Automapper, MediatR, MassTransit,Telerik stuff,etc. I'm not inherently against it, we have a problem with opensource being asymmetrically underfunded and if people going commercial is the cost perhaps we've failed.

I can confirm that (several years ago at least) free PDF libraries were lacking, and Telerik was always non-free. However, aren't Moq, Avalonia and MassTransit free software? As for Automapper and MediatR, their owner changed from a free software license to only an open source one (Reciprocal Public License), but these are probably the simplest libraries of the ones you mentioned and have either been forked (MagicMap…

Yeah pdf libraries are a bit of a mess, I work with a product that handles lots of PDF documents and I think we just recently added another PDF library dependency (I'm certain it's at least 3 now, but could be 4 or even 5 libraries loaded at startup).

Moq has the appearance of free software but bundled some spyware stuff (seemingly "benign" "Sponsorlink" for getting donations).

Masstransit went commercial recently, https://masstransit.io/introduction/v9-announcement

Avalonia itself is opensource, but i'd put in in a fremium/shareware category since if you need to add an WebView or Media player you need to buy their commercial Accelarate additions.

Post reply on HN