Live data from Hacker News

.NET 10

devblogs.microsoft.com

571–580 of 605 posts

Re: .NET 10

#571
post #429

Earlier quoted context omitted.

Been awhile since I've worked at one but it is usually grounded in trying to achieve 100% MS usage. It is rarish to find a partial MS shop. Most of this is how hard MS makes it to use other tools. Even in 2025 they have good interop with external tools hamstrung. Example: SQL Servers JDBC driver will convert an entire table's of data from ASCII to UTF and a full table scan instead of convertering your UTF bind to ASC…

There is no way a reasonable person would not deploy to Linux and postgres for cost reasons alone. No one wants to pay Microsoft or Oracle money for databases, operating systems or frameworks nowadays.

I beg to differ. Every government agency I’ve worked at will gladly pay SQL server license fees.

Re: .NET 10

#572
post #331

Earlier quoted context omitted.

I tried Razor. It's mature, has tons of features, and it's very fast. But it only really solves rendering HTML. You will still need to integrate Vite somehow to use modern CSS, TS, etc. And if you do that, why even use Razor to begin with? Also, hot reload is garbage. C# will never get close in speed or features to something like Vite.

If youre intent on writing everything on the frontend in javascript then you can just have a frontend app and use webapi MVC on the backend. Personally, in my personal projects, I find I iterate faster if I dont't write any javascript. Every page is just static HTML and any interaction is done via CSS (which you can do perfectly well in razor pages) or html forms. Managing page state is a huge time sink and IMO not w…

> If youre intent on writing everything on the frontend in javascript then you can just have a frontend app and use webapi MVC on the backend.

Yes, I'm aware. I've been doing web dev since the 90s.

> my personal projects, I find I iterate faster if I dont't write any javascript

It's expected you will iterate faster if you have less features, no?

Re: .NET 10

#573
post #319

Earlier quoted context omitted.

> I wish .NET was more popular among startups, if only C# could get rid of the "enterpisey" stigma There are plenty of real issues that are not the enterprise stigma. I built a backend web api this year with it and C# is fantastic. EF Core is truly one of the best ORMs I've ever used. That said, I regret that decision and won't be using it again for any new projects. Honestly it looks like Microsoft is distracted and…

>Everywhere you look there are tons of half baked projects like Blazor We used Blazor years ago and it worked flawlessly already then. Hard to believe it's worse today. And what's wrong with Identity? >progress in .NET is super slow Compared to what?

Blazor will produce super bloated web apps. I can see it being used for an in-house thing with captive users but for a real world product or a public app? It would be a terrible choice.

Also the DX is just not there. Hot reload is a mess. Even when it works it's too slow. Once you start using hot reload with Vite you can't go back to waiting seconds for every change and full page reloads.

> Compared to what?

Everything else?

Do you think it's acceptable that it took 4 years for Minimal APIs to get validation?

What about hot reload being broken for years and years?

Re: .NET 10

#574
post #324

Earlier quoted context omitted.

> Backends can be any language In +90% of cases you will still need a frontend for that backend. TS full stack is by far the best option for this.

Not really? Having come deom a TS + Go startup it’s pretty trivial to wire up domain objects across each language and define a clean API boundary with some enforcement at build time. And Go was a far better choice for the backend than TS for some lower-level memory considerations.

With TS you don't have to "define a clean API boundary with some enforcement at build time". You can use the exact same types you're using to enforce endpoint schemas everywhere.

You don't need a middle man like OpenAPI (which I've used and it's a mediocre solution).

Re: .NET 10

#575
If you have a build command that does not specify version for things like 'dontnet-ef', your build might fail because it is not compatible in .NET 10, so update to specify version, e.g.

dotnet tool install --global dotnet-ef --version 8.0.8

Re: .NET 10

#576

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.

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

PDF is an enormous festering wound in .Net. I've also been doing .Net since day one and never bought a single commercial component. Used it to build some massive commercial products all on OSS.

BUT. PDF has always been a nightmare. It's made a lot better in the last year since LLMs have vast knowledge of all the functions available in each of the .Net PDF OSS libraries and can usually find a way to do the thing I need now. (I've even had them just hack the PDF streams to do something when there is no library to do it as they know the whole spec)

Re: .NET 10

#577
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.

For what it's worth, the startup I currently work for is built entirely in C# and .NET, as was my previous employer. Both startups are based in the Dallas, TX area. Across both companies, applications were hosted on Azure and AWS using a mix of PaaS services and virtual machines running Windows and Linux. We've consistently found this stack to enable strong productivity and high-velocity release cadences.

I've worked at multiple startups that were built on .Net from day one. One very large music streaming site built entirely on VB.NET [0].

[0] I actually think VB.NET is the superior .Net language, but it lost support at MS and died. I think the code is vastly more readable (to me) than C-style code, and I've coded in every C, Java, C#, whatever variant.

Re: .NET 10

#578

Earlier quoted context omitted.

There is a 3rd Party library for that now: https://github.com/zcsizmadia/ZCS.DataContractResolver I haven't tried it because it has generally seemed easiest to use the new attributes. Though a large part of that is the shift from the WCF-era "opt-in" approach of DataContract/DataMember [0] versus the "opt-out" JsonIgnore approach where most of the transition is deleting lines because JsonIgnore is the exception rathe…

For me it was less not really about the opt-in part (after all, Newtonsoft works the same way) and more about stupid things like setting a name (DataMember), Enums, and in fact opting out (IgnoreDataMember) It's especially annoying in libraries because the consumer might not even be using System.Text.Json, but you have to pull in the library anyway to apply its own attributes if you want it to work right. Just an ove…

> but you have to pull in the library anyway

That library is also out-of-the-box in the BCL in .NET > 5, though. It's not an extra install (except for projects stuck in .NET 4.x).

I get the desire to avoid that sort of redundancy in the BCL itself, but also explicit is better than implicit, which was the baseline theory for why System.Runtime.Serialization was the way it was even as it added more and more implicit "conventions", and if System.Text.Json supported the SRS attributes out-of-the-box there would be just as many complaints about "implicit magic" or it not following WCF conventions hard enough and that making it harder to migrate things using SRS attributes when you wanted different behavior in JSON serialization than you would want in WCF SOAP serialization. SRS has too much WCF baggage, unfortunately for all of us.

Perhaps what's left of the disagreement here between us is if System.Text.Json counts as "first-class framework attributes" and it certainly seems that way to me in .NET 5+, and especially as we celebrate the release of .NET 10. It's a small redundancy in the BCL, but it's still just "as BCL" and "first-class".

Re: .NET 10

#579
post #429

Earlier quoted context omitted.

Been awhile since I've worked at one but it is usually grounded in trying to achieve 100% MS usage. It is rarish to find a partial MS shop. Most of this is how hard MS makes it to use other tools. Even in 2025 they have good interop with external tools hamstrung. Example: SQL Servers JDBC driver will convert an entire table's of data from ASCII to UTF and a full table scan instead of convertering your UTF bind to ASC…

There is no way a reasonable person would not deploy to Linux and postgres for cost reasons alone. No one wants to pay Microsoft or Oracle money for databases, operating systems or frameworks nowadays.

All my .Net web apps are now deployed to Linux and Sqlite. Good riddance to Windows Server and IIS (which was dogshit from day one). With the tiny memory profile of .Net 10 it's crazy how small a VM you need to get good performance.

Re: .NET 10

#580

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…

A bit off-topic, bit hiring exceptional .NET developers is like searching for a needle in a haystack. Way more people have a ton of experience with JS and marginal experience with .NET, just writing very basic API endpoints - yet claiming serious experience. If you came to me for an interview, your story would have been a breath of fresh air. So maybe try to mention it anyway, someone will be interested.

I've managed big .Net teams. 99% of .Net devs are very, very average. Just crunching out lines of code with little care for quality, performance, readability etc. The best .Net dev I ever hired didn't know a single thing about it; brought him in as the most junior role to tinker with some HTML and within two years he had massively outclassed me.
Post reply on HN