Live data from Hacker News

.NET 10

devblogs.microsoft.com

531–540 of 605 posts

Re: .NET 10

#531

Earlier quoted context omitted.

Hmm. My company gives everyone a $500 a year allowance for training and/or tools that we can use through OneRange. It shouldn’t be that hard to get approval to donate to an open source project. This is all hypothetical. There isn’t any open source project I depend on that isn’t backed by a large corporation.

I've tried that and got heavy push back from other developers funnily enough.

Why? How does it affect them if you decide to use your allowance to donate?

Re: .NET 10

#532
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 think the key problem is that a large number of startups are shipping software in containers, and dotnet requiring a CLR is not particularly well-suited for containerization. It's like the old school Java JVM model. You have to ship a copy of the runtime with every container, and if you're doing proper microservices it's an awful lot of overhead. Yes I'm aware MS makes it easy to build containers and even single ex…

> once your deployments are over the 10k containers mark.

Stackexchange famously is a dotnet application that runs on a handful of fairly (but not unreasonably) large computers. 10k containers is either "you are Facebook", or you're wasting a lot of that in some other way.

Re: .NET 10

#533
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 was somewhat recently attempting to help my manager get a C# dev environment set up. He was used to doing everything the C/Java/JavaScript/Python/almost-every-language-under-the-sun way, and avoiding the "Microsoft way" of doing things created so many roadblocks. I had no idea that over the previous ~20 years I had been practicing a C# compiler summoning ritual and had become incredibly good at it. From the start I…

One weird trick to avoiding nuget breakage: treat packages as immutable. If you need a new or local build of a package, you must bump the version number (use -alphaNNN or increment the patch number) for every rebuild.

Or, if you're trying to temporarily use a local source tree, swap out for .

Re: .NET 10

#534
post #197

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…

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.

I agree, I'm just speaking to the culture and I DO think Microsoft has something to do with it.

Companies who choose Microsoft everything don't think much. They're not risk takers, and I don't even mean substantial risks. They're stubborn, old-school. But not in a charming way, in a 'grampa won't stop talking about how great it was before integration' way.

Re: .NET 10

#535

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.

There is a trend amongst companies who use Microsoft everything.

It's not dotnet per se. But if we're deploying by spinning up windows server and clicking around, then I garuantee you, that job will have garbage politics.

Re: .NET 10

#536

Earlier quoted context omitted.

Every company should give developers $100 per year to donate to the open source project of their choosing. Right now the conditions are such that maintainers are incentivized to rug pull.

I love this. I've also been bandying about the idea of an open source equivalent of a B Corp sort of accreditation where a company can essentially brag about auditably donating to the open source projects that it depends upon.

We'd probably just end up in a place similar to carbon and offset credits.

Re: .NET 10

#537

Earlier quoted context omitted.

If you use the same base image, is it really as bad as you're making it out to be? I understand that you're getting a roughly 100mb dist directory for a .Net web app, and that it uses quite a bit of ram.. but people also use Node and Java which have similar issues. Don't get me wrong on this, I'd like to use Rust+Axum a lot more and C# a bit less.. but I don't dislike C#.

The runtime alone is a bit over 200mb, and that doesn't include additional packages you'll most likely need. That being said, I'd much prefer to deploy a C# application over Node or Java, no argument there. But saying "I wish more startups were using C#" makes me wince. C# seems well-suited for the monolith-architected VM-image-deployed strategy of the early 2000s, but it's pretty close to being the exact opposite of…

C#/dotNet has Ahead of Time compilation that works very well with containerization. Obviously there are still overheads for the AoT runtime, but it is pruned.

Re: .NET 10

#538
post #507

Earlier quoted context omitted.

And this sounds great until you get to the laundry list of restrictions. For us the showstopper was you can't use reflection.

These same restrictions exist for Go, the Go team just decided that it was easier to never support these features to begin with which has its pros and cons.

Such as? For the ones I've actually needed from the C# AOT limitations list, you can use reflection and dynamic loading just fine in Golang, with static single-binary compilation and all.

Re: .NET 10

#539
post #537

Earlier quoted context omitted.

The runtime alone is a bit over 200mb, and that doesn't include additional packages you'll most likely need. That being said, I'd much prefer to deploy a C# application over Node or Java, no argument there. But saying "I wish more startups were using C#" makes me wince. C# seems well-suited for the monolith-architected VM-image-deployed strategy of the early 2000s, but it's pretty close to being the exact opposite of…

C#/dotNet has Ahead of Time compilation that works very well with containerization. Obviously there are still overheads for the AoT runtime, but it is pruned.

AOT would solve a lot of these problems if it didn't have show-stopping restrictions like "you can't use reflection" and "you can't use native sessions".

https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/n...

Re: .NET 10

#540
post #27

Earlier quoted context omitted.

I really like F# (as I like OCaml, Elm and Haskell); but I'm always afraid MS will kill it one day. It helps that now most (if not all) parts of the stack are open source and run on Linux.

C# Dev Kit, which VSCode pressures you to install, is a core very non-free component.

Removing free omnisharp was the worst
Post reply on HN