Live data from Hacker News

.NET 10

devblogs.microsoft.com

351–360 of 605 posts

Re: .NET 10

#352
post #300

Literally just started building a game engine with .NET 9, so naturally there's an update within a week. -_- Seems like a good update, though! And I'm glad it's early enough that updating the framework probably shouldn't break anything. Really as long as there's no issues with the DearImGUI dependency (would be a surprise!), I'm pretty happy about the update.

9 isn't an LTS version... always go with an LTS version.

That's... a strong statement. There is absolutely nothing wrong with going with a non-LTS version. You just have to update a little bit sooner, and that's it.

Re: .NET 10

#353

Anybody remember IronPython, IronRuby, etc?

I do! Pretty sad that IronPython isn’t a thing anymore, especially now that I’ve actually had to learn Python for machine-learning related reasons. At least .net did get the dynamic data type out of its brief interest in these.

  > Pretty sad that IronPython isn’t a thing anymore
Why? It seems the latest release is quite recent (9 months ago)

Re: .NET 10

#354
post #304
post #3

Earlier quoted context omitted.

Can only confirm that. Such a smooth platform overall for web and API development. We use it with several 100 devs on it and the choice never failed us, neither in technology or hiring. And it is not that we have .NET gurus or anything.

As a counter-point, my company was original purely .NET, then added Python (and later JS). For us, hiring .NET is WAY harder than the other stacks. We get a lot more applicants in general, but almost zero that meet our standards. For Python roles we get way fewer applicants, but the average quality is much much higher than the .NET average. (JS is a whole other thing, and we frankly aren't as good at hiring there yet…

Do you measure that standard by leetcode?

Re: .NET 10

#355

Changed from Ruby to .NET and loving it. C# is a great language, it's now very modern and has the best parts of Typescript, while leaving out the bad ones. It's also extremely fast and multi-platform. It also doesn't have the fragmentation that Java or JVM langs has. And it's also open source nowadays. I think Sillicon Valley hasn't caught up with those recent changes, I bet more startups would be using C# if they kn…

>and has the best parts of Typescript I really like C#, but I wouldn't go that far - unions are at least on the horizon, but I've sometimes come to miss the power and flexibility of TS's structural typing...(And so has Hejlsberg, apparently, seeing his reasoning for choosing go over C# for tsc :) )

>And so has Hejlsberg, apparently, seeing his reasoning for choosing go over C# for tsc

It was more related to the fact that the existing TS code was more easily ported to Go, and also .NET AOT wasn't mature enough at that time. Structural typing has its own problems. I'm personally not a big fan of it.

Re: .NET 10

#356
post #319
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 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…

I'm the same. I'm both a Python and C# developer. I use Python for all my personal projects, and given the choice, for MOST projects I'll always pitch Python first, Django gives me the strengths of something like ASP .NET / EF Core, but without feeling like they're building more abandonware. I really love Blazor and heck even MAUI, but will they still be there in 10 years? Probably, will Microsoft have some new project that replaces them? probably.

Then there's Django. Rarely changes, only for the better. Upgrading Django versions is usually painless too. The ORM is fine enough.

Re: .NET 10

#358
post #214

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…

That just sounds like management issues and less tech. Granted maybe people who are bad at that select C#, or it's just size of company? https://youtu.be/s4Cz49MLh4o?t=142

Size of the company, combined with wanting “vendor support” instead of going at it alone like a FAANG would.

Re: .NET 10

#359

Earlier quoted context omitted.

> dotnet requiring a CLR is not particularly well-suited for containerization Why? I routinely put compiled .NET programs into containers. It's also easy (easier than Rust even) to build on Mac targeting a Linux image.

Create a hello world dotnet container, then do the same in a modern language. Then compare image size and resource consumption. Then imagine you're running tens of thousands of containers in a proper SaaS microservices model, and it'll make sense :)

If you have that many containers, you should be having the revenue to pay for that.

Re: .NET 10

#360
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…

You’re making the classic logical error of “your thing doesn’t have the workaround needed for an issue that only happens with my thing”.

You need 10K containers for Node and Python apps because they use a single threaded runtime! The best way to scale these is to deploy many small containers.

The .NET runtime is fully multithreaded and asynchronous and supports overlapped I/O. It scales to dozens of cores, maybe hundreds in a single process. The built in Kestrel server is full featured including HTTP/3 and TLS 1.3! You don’t even need NGINX in front of it.

Not to mention that unlike most Linux-centric programming languages, it deploys reliably and consistently without needing the crutch of containers. You can simply copy the files to a folder on the web server(s), and you’re done. I’ve actually never seen anyone bother with containers for an ASP.NET web app. There is very little actual benefit, unlike with other languages where it’s essentially the only way to avoid madness.

PS: Every Node app I’ve ever deployed has been many times slower to build and deploy than any ASP.NET app I’ve ever seen by an order of magnitude, containerised or not. Go is comparable to C# but is notably slower at runtime and a terrible language designed for beginners too inexperienced to grok how exceptions work.

Post reply on HN