Live data from Hacker News

Performance Improvements in .NET 7

devblogs.microsoft.com

141–150 of 164 posts

Re: Performance Improvements in .NET 7

#141

That blog site could use some performance enhancements. Anyone have a link to a static copy?

For me, the Feedback button anchored to the viewport right does not work, and I'm not interested in signing up to leave a comment on the page, but in the event the author or anyone associated with them stumbles across this:

This article reliably causes Chrome to hang on my Samsung Android. No suggestions re. the length here, just feedback.

Re: Performance Improvements in .NET 7

#142
post #134

Earlier quoted context omitted.

"Framework" is such a poor differentiator to contrast with modern .NET (owing to the original poor naming decision in the first place--it's not like ".NET" itself is amazing) that it's hard, from a casual reading, to pick up on the fact that "Framework" is even being used a differentiator. I propose that when people want to differentiate between the modern .NET Core vs the legacy closed source .NET implementation, th…

I get where people are coming from, but I honestly don't think it's that hard. If someone is new to .NET, all they need to care about is .NET 6 and later, so it doesn't matter much. Microsoft has documentation for the history. Here's one: https://docs.microsoft.com/en-us/dotnet/core/introduction#ne... I think everyone is honestly too harsh on Microsoft. They are the best at evolving software (not perfect) while keepi…

Unfortunely anything related to UWP and WinUI seems to have plenty of folks on the teams used to the Apple and Google ways.

Also there are plenty of .NET Framework libraries on the enterprise space that are yet to work properly on .NET Core infrastructure, or outside Windows, as they are mere wrappers to native Windows APIs.

Since Java 6, Oracle has managed to evolve Java with less breakage (there is some specially on the Java 9 transition) than .NET Framework => .NET Core, or .NET Native => .NET Core.

Re: Performance Improvements in .NET 7

#143
post #39

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

They do have a tick-tock-style LTS approach. Our strategy is to stick with the LTS versions, since we sell software to banks. The path we are on: Framework 4.x => .NET Core 2.x => .NET Core 3.1 => .NET 6 (we are here today) => .NET 8 The migration from .NET Core 3.1 to .NET 6 was a total non-event. It was substantially harder for us to go from 2.x to 3.1. Based upon the current proposals and available documentation,…

> The migration from .NET Core 3.1 to .NET 6 was a total non-event.

It was a rather big event for Forms, WPF developers, and there are still issues with the designer and 3rd party component libraries, and C++/CLI as well, which happens to be used by them.

Re: Performance Improvements in .NET 7

#145
post #90

Earlier quoted context omitted.

Http request handling in asp.net mvc. The uri, type and parameter serialization is a magic mess. How do you PUT { "foo" : { "bar" : "baz" }} to ping/pong/yolo? You create a controller class, PingController, you create a method PutPong, then you give up and proceed to cry blood

It seems you had a bad time learning ASP.NET, but in my experience what you're asking for is not difficult at all. You have to: 1. [Optional] Define a DTO that deserializes { "foo" : { "bar" : "baz" }} to an object 2. Write a class that subclasses Controller 3. Write a method, call it whatever you want, that accepts a JObject or one of your DTO types. 4. Add the attribute [HttpPut("ping/pong/yolo")] to tell the frame…

Without decent documentation, it is.

Re: Performance Improvements in .NET 7

#146
post #90

Earlier quoted context omitted.

Http request handling in asp.net mvc. The uri, type and parameter serialization is a magic mess. How do you PUT { "foo" : { "bar" : "baz" }} to ping/pong/yolo? You create a controller class, PingController, you create a method PutPong, then you give up and proceed to cry blood

app.MapPut("ping/pong/yolo", ([FromBody] Payload request) => {...}); record Payload(Foo Foo); record Foo(string Bar); or app.MapPut("ping/pong/yolo", (JsonElement json) => {...}); Basically, just avoid outdated blog posts and articles :D

this looks like asp.net core

Re: Performance Improvements in .NET 7

#147

That blog site could use some performance enhancements. Anyone have a link to a static copy?

For me, the Feedback button anchored to the viewport right does not work, and I'm not interested in signing up to leave a comment on the page, but in the event the author or anyone associated with them stumbles across this: This article reliably causes Chrome to hang on my Samsung Android. No suggestions re. the length here, just feedback.

Yeah it hung my Chrome on Samsung Android consistently. Firefox on Android pulled it up smoothly.

Re: Performance Improvements in .NET 7

#148

Earlier quoted context omitted.

"Framework" is such a poor differentiator to contrast with modern .NET (owing to the original poor naming decision in the first place--it's not like ".NET" itself is amazing) that it's hard, from a casual reading, to pick up on the fact that "Framework" is even being used a differentiator. I propose that when people want to differentiate between the modern .NET Core vs the legacy closed source .NET implementation, th…

I've taken to calling it "Legacy .NET".

Or my favourite "full framework"

Re: Performance Improvements in .NET 7

#149
post #70

Earlier quoted context omitted.

I have to agree that it's excessive and I don't understand why they're doing it. Major versions imply breaking changes, which contradicts the assertions of other people here replying that the differences between each version are minor; in that case why not minor version bumps? What's the benefit? The only thing I can think of is that it forces upgrades to new versions of Visual Studio. One immediate problem it create…

Why would you list the .NET version on your CV? Why would anyone hiring care about whether you have experience with .NET 6 vs .NET 3 Do you also list all the library versions you've worked with? This is pretty absurd.

I guess it's useful to know whether or not a candidate is 15 years out of date. We had a guy come through who knew classic ASP and I'm told it was a painful interview.

Re: Performance Improvements in .NET 7

#150
post #47

Earlier quoted context omitted.

Every other release is an LTS release, with three years of support. .NET 6 was one so this won't be. They are pretty good about backwards compatibility, upgrading .NET Core and .NET hasn't been a big deal so far.

I have an issue with calling three years "long term" support. Most companies won't update to the new LTS for 9 to 12 months in order for any issues to be ironed out, so that means you get only 24 to 27 months on the LTS. Between CVEs and upgrading to dotnet6 before the end of life on dotnet3.1 most of my coworkers and I have gotten almost no new coding done on our applications this summer (and this was after a three…

I think this is part of the intent. Letting software get painfully out of date is something that wrecks code bases and companies, yet that's the way they naturally want to operate. Since they've always operated that way they're not use to budgeting for the resource to continually stay up to date. I prefer to upgrade on a regular cadence and even think LTS is an anti-pattern. The regular cadence means upgrades are as small as possible when they do happen, and people experienced with upgrading are more present in the engineering team. The alternative is shit gets 5 years out of date and then 10 years out of date.
Post reply on HN