Live data from Hacker News

.NET 10

devblogs.microsoft.com

161–170 of 605 posts

Re: .NET 10

#161

Earlier quoted context omitted.

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.

> Both startups are based in the Dallas, TX area. Aah that explains it. For some reason, .NET is extremely popular outside of major tech hubs (notably in Europe), where you're much more likely to work for (without loss of generality) Ikea than for Google.

The Dallas area is a major tech hub. It’s just an older hub of major enterprisey type companies with major tech divisions there like Texas Instruments, AT&T, Bank of America, defense contractors like Lockheed, etc.

Office Space took place there before the dotcom bust.

Less enterprisey, but John Carmack and id Software also started there.

Re: .NET 10

#162
post #60

Earlier quoted context omitted.

Apart from [the equivalent of] records, I see nothing big. Except... this '''let! a = fetchA() and! b = fetchB()''' really puzzles me. Does C# have a high-level syntax for concurrency timing? [something that Java is strongly lacking, and that Typescript did solve with Promise.all(), which is an ugly syntax, from my perspective] Any elaboration on this is very welcome.

Here `a` and `b` can have different types: let! a = fetchA() and! b = fetchB() Whereas `Promise.all` usually requires all promises to have the same type (returning a `List ` or even a `List `) . See https://learn.microsoft.com/en-us/dotnet/fsharp/whats-new/fs...

Actually, TypeScript's `Promise.all` can handle different types too.

    const [a, b] = await Promise.all([fetchA(), fetchB()]); // => a: A, b: B

Re: .NET 10

#164

Earlier quoted context omitted.

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…

Exactly this point. Go and Rust produce native binaries, I wish C# had an official native compiler without the big runtime needs of .Net.

You might want to read https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...

Publishing your app as Native AOT produces an app that's self-contained and that has been ahead-of-time (AOT) compiled to native code. Native AOT apps have faster startup time and smaller memory footprints. These apps can run on machines that don't have the .NET runtime installed.

Re: .NET 10

#165

I've worked with .NET for over 10 years and we built our startup on top of it. Here are my thoughts: Pros: * Stability * Very decent standard library * Good balance between productivity and robustness * Great package management * Extremely easy to upgrade, so essentially free goodies (performance) every year or so Cons: * Very MSFT dominated (obviously) * Subpar tooling outside of Windows (I'm looking at you C# Dev K…

It’s funny, I came up in my career working in places mixed with .NET and PHP/JavaScript devs and the .NET developers all felt the PHP/JS teams were clown cars. IMO had .NET Core come out a few years earlier it would have a much bigger marketshare today, but when you had Ruby/PHP/Node/Python devs primarily using Macs, no one wanted to touch the thing.

Re: .NET 10

#166

Earlier quoted context omitted.

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…

Exactly this point. Go and Rust produce native binaries, I wish C# had an official native compiler without the big runtime needs of .Net.

rust and go are only good at single binary. when you need a few their size adds up quickly, because they don't really do shared libs.

Re: .NET 10

#167
post #81

Earlier quoted context omitted.

Vault, Keycloak, Flink are language agnostic or there exist bindings for most popular languages. Documentation is vastly better compared to Java ones, it's like day and night, LINQ is vastly superior to anything that Java offered - but i haven't used java in a very long time. And every time i had to write java it felt like i went backwards in time by 5-10 years. If i remember right Java's webserver beats ASP.NET in p…

>If i remember right Java's webserver beats ASP.NET in performance benchmarks That's not the case anymore. Kestrel is one of the fastest servers there is, and it beats every Java server out there.

the famous benchmark that put ASP.NET in #1 spot was hyperoptimzied to hell while competing with normal implementations of other systems. https://web.archive.org/web/20250330225652/https://dusted.co...

archived version becasue original one gives 404

currently according to techempower benchmarks ASP.net is 55th overall in minimal variant, while being 83 in normal one in Fortunes benchmark which is basically a normal usecase.

While most java framworks oscillate between 10-30

https://www.techempower.com/benchmarks/#section=data-r23

EDIT: there's also an entry for aspnetcore at 35th

Re: .NET 10

#168

Earlier quoted context omitted.

F# is less popular, but it’s a first class .Net language with full MS support and integration onto .Net (VM and ecosystem). C# has been tracking F# and aiming for language parity for years (ie all your modern C# devs should be learning the same language facilities). F# is multi-paradigm so C# devs can write idiomatic C# with minor forced changes. And as a .Net language you can always decompile it into C# and keep goi…

don't get me wrong - i want F# features in C#! I like the ecosystem and both languages. I'm just pointing out that no matter how cool the language is if it doesn't serve business needs(hiring, onboarding ,ease of replacing staff, target market) it won't be picked.

[deleted]

Re: .NET 10

#169
post #40

Earlier quoted context omitted.

.Net is also good as a platform for other languages. I recently started working with RemObjects, and you can compile languages like Java, Swift, Go and more (VB, Pascal) to .Net. Then, the whole framework and ecosystem is available. I'm liking it a lot. They have customers who are startups and the 'got to have tools' folk like having lots of languages since they can onboard people who know anything-not-C# and benefit…

> they can onboard people who know anything-not-C# and benefit from the .Net library I don't get this mindset. I'd much rather have the new guy spend a few months getting used to a new language, than have an organization where everyone uses different languages. It's a nightmare a few years down the road when you have 20 different projects in 15 different languages and the people who built them are mostly gone. People…

Using the right language for the problem domain is a good thing, but what I can't stand is when people self-identify as the one language they are proficient in. Like, "I'm Staff JavaScript developer" no buddy, you aren't "Staff" anything if you only know one language.

Re: .NET 10

#170
post #81

Earlier quoted context omitted.

Vault, Keycloak, Flink are language agnostic or there exist bindings for most popular languages. Documentation is vastly better compared to Java ones, it's like day and night, LINQ is vastly superior to anything that Java offered - but i haven't used java in a very long time. And every time i had to write java it felt like i went backwards in time by 5-10 years. If i remember right Java's webserver beats ASP.NET in p…

>If i remember right Java's webserver beats ASP.NET in performance benchmarks That's not the case anymore. Kestrel is one of the fastest servers there is, and it beats every Java server out there.

That's not what Microsoft's own sponsored benchmarks say:

https://www.techempower.com/benchmarks/#section=data-r23

Post reply on HN