News for hackers. Stuff that matters.
Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @12:23PM (#50443345)
In my experience, C# and .NET are both "underappreciated" in a large part based on the legacy.

Some folks out there still think .NET is Windows only. Some folks out there haven't looked at C# since the .NET Framework days. Some folks out there are still salty about some of Microsoft's decision around OSS (debugger, hot reload fiasco, etc.)

But day to day working with C# and .NET for backends? It's really fantastic. AI seems to like it a lot and a lot of tools for agents to go HAM. Roslyn analyzer, source generators, tons of really good docs from Microsoft, generally low variance and high consistency (e.g. Drizzle vs Prisma vs TypeORM vs Kysely vs ... in Node land).

My previous team switched from TS to C# and F#[0] and it was a blessing; a lot of the platform ops have been simplified. It's just one very solid tool chain and packages are generally stable. First party packages get consistent security updates.

C# feels like a really solid choice in the age of AI coding because of it's general stability, strong static analyzer, insistence on types, and really good tooling.

[0] https://engineering.usemotion.com/moving-off-of-typescript-e...

Re:What's new in the .NET 11 runtime by jodrellblank on Tuesday November 10, 2026 @01:23PM (#50444138)
How does AI do with F#?
Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @01:37PM (#50444333)
Motion shifted to C# around August of last year. Part of the reason, I suspect, is that the CTO (Hi Chander!) is an OCAML fanboy and F# was the most practical platform alternative.

We shifted all new product backend build to C# (because at this time last year, we were still "AI assisted" and deemed F# too foreign for most devs to read well), but all internal tooling was built on F#.

By maybe May of this year? We had multiple F# backend codebases, fully AI generated. Only one person on the entire team had worked with F# by hand. Several things work in F#'s favor even though it has a lot less representation in training: 1) the people that write F# really love F# so the code out in the wild is going to be better quality (hunch), 2) F# is a bit more terse/dense than C# and less noise in context, 3) F# benefits from the same tooling stack, 4) F# type system is still a bit more expressive than C#.

I know C# deeply so I know what good looks like and I know how to get agents to write good C#. F# I'm less familiar with, but we had great success with it.

Re:What's new in the .NET 11 runtime by YuechenLi on Tuesday November 10, 2026 @01:50PM (#50444496)
AIs write pretty good F#, but there simply isn't very much of a reason to use F# over C# since Microsoft basically uses F# as an experimental test bed to test .NET features before bringing them into C#. Plus, annoyingly, F# doesn't interop well with existing C# projects which there is even less of a reason for existing .NET shops to adopt F#.
Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @02:04PM (#50444699)
I also agree with this. When we were internally finalizing on C#/F#, I showed the CTO that most of what he liked about F# was already possible in C# (though requiring third party libs like OneOf or Dunet) with the benefit that C# syntax is more familiar for most folks. With 15, I think they are even closer now.
Re:What's new in the .NET 11 runtime by rspeele on Tuesday November 10, 2026 @11:30PM (#50449757)
One of my favorite things about F# is what some would consider a deficiency: that within a project, files must be ordered and you may only refer to a symbol defined earlier, with the sole exception of types which are explicitly declared together in a single statement (`type X = ... and Y = ...`).

This in contrast to C# where, within one .csproj, there is no "order" and all classes and methods are able to mutually reference one another.

The F# way creates an annoying housekeeping step of maintaining file order, and would be a nightmare to do with manually edited .fsproj files (I have only ever written F# with an IDE), but IMO, it is worth it. On the reading side, it makes it easier to understand how a project you've never read before is structured, since you know the order of the F# source files also must be the bottom-to-top layering of the code. On the writing side, it sometimes causes one to rethink the architecture and simplify it to minimize the number of mutual declarations.

Re:What's new in the .NET 11 runtime by rienbdj on Wednesday November 11, 2026 @04:28AM (#50451312)
The advantage of F# over C# is defaults and baggage. The FP story in F# is great. In C# it’s possible.
Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @10:57AM (#50454907)
That's a good way to put it. C# can be made closer to F#, but it has to be done so explicitly.
Re:What's new in the .NET 11 runtime by humlex on Wednesday November 11, 2026 @05:43AM (#50451873)
That might be true. But I still think code and ideas are more clearly expressed in a higher level language like F# still. Even though C# has adopted a lot of features from F# over the years, F# is still a lot cleaner to read and write with its excellent type inference and super minimalist syntax.
Re:What's new in the .NET 11 runtime by rednb on Tuesday November 10, 2026 @02:16PM (#50444888)
Built the massive enterprise backend of a super app fully in F#. From my experience, AI was able to write idiomatic F# code since Opus 4.8 (all models started doing very decent things around that period).
Re:What's new in the .NET 11 runtime by humlex on Wednesday November 11, 2026 @05:40AM (#50451856)
I've used F# on several projects, and right now we're building all our infra with it. AI does very well it these days.

AI isnt quite as creative and clever coders as humans though, but thats true for any language you direct it at, but its a bit more obvious for higher level languages like F#.

Re:What's new in the .NET 11 runtime by trashface on Wednesday November 11, 2026 @08:31AM (#50453194)
Seems very good at it; for a while in my F# project I didn't know how to tell claude code on the web how to install it, but claude still made code that worked fine - its COT said, paraphrasing: "no F# compiler here so I will check this code by inspection". Later I learned how to make F# available there - in claude.md tell it to install the ubuntu dotnet runtime via apt, which includes F#. May not be needed anymore though.
Re:What's new in the .NET 11 runtime by bjoli on Wednesday November 11, 2026 @09:44AM (#50454074)
when I realised I didn't have time to actually finish my own programming language (there was a big change needed in the type checker and it would have taken months with how much I can use a computer atm), I let claude something like 98% of the work, and it worked very well. The code comments are awful, but the code is ok. recently i have just let it have a go, and the code has grown more than I care for, but generally it has been doing well: https://github.com/bjoli/Bjolang
Re:What's new in the .NET 11 runtime by doublepg23 on Tuesday November 10, 2026 @01:27PM (#50444208)
It's certainly not a big topic of discussion online but it's powered all of the healthcare infra my career has been around. There's a lot of "dark matter" code written in C#.
Re:What's new in the .NET 11 runtime by stevefan1999 on Tuesday November 10, 2026 @01:43PM (#50444409)
The fact that when most devs look at C#, they can only see the silhouette of Microsoft is kind of making me mad sometimes, but I think it is understandable.

The corporate history of C# is undeniably strong, and even till this day in modern C#, they still have a lot of legacy components in it, like AppDomain, APM and MarshalByRefObject.

It is also unfortunately that C# has largely lost in the AI race, that it failed to gain tractions from AI developers despite heavy investments from Microsoft. Early AI stuff like Semantic Kernel actually included C# as its primary languages besides from Python. Nowadays it is not mentioned so much and the default is just Python but perhaps it really isn't a fair comparison due to the gravity of Python in AI as a whole.

The fact that even within Microsoft, Rust wins over C# for agentic development, is a clear indication that C# has lost a meaningful place in software development as its former parent started to berate it as well.

Sure, maybe Bing and a large part of Azure still relies it, probably because of ASP.NET Core and Orleans, but outside of the two Microsoft greenhouses, it is a free for all battle royale where C# don't even have a chance of being picked at due to being too weak.

The last few thing C# is good at is just Unity I'm afraid, and that is also dying too as Unity is also not doing so well lately.

Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @01:51PM (#50444518)
Rust and C# serve different purposes. For things like CLI tooling and the Copilot SDK (supports Go, Python, JS/TS, Java, .NET), Rust makes total sense.

For web API backends and MCP servers, I firmly believe C# is the better choice.

For AI use cases (as in make calls to LLMs), there's not much difference, IMO from Python and C# and TypeScript. At the end of the day, those are all just REST API calls and SDKs are mostly wrappers around it.

For LoB apps where the AI/LLM is just one small leg of the actual flow, C# is still a winner, IMO, because of how good the overall stack is (e.g. EF Core). Orleans (actor model framework) is also super interesting and I'm exploring some memory/communication system based around it.

Re:What's new in the .NET 11 runtime by moron4hire on Tuesday November 10, 2026 @08:20PM (#50448683)
Semantic Kernel isn't getting updates because they've replaced it with Agent Framework.
Re:What's new in the .NET 11 runtime by mattferderer on Wednesday November 11, 2026 @09:46AM (#50454091)
TypeScript was "ported" to Go because it matched the closest & allowed easy line for line swapping. C#, F# or Rust would have required a re-write with architecture changes instead.

https://devblogs.microsoft.com/typescript/typescript-native-...

Re:What's new in the .NET 11 runtime by rebeccapowell on Thursday November 12, 2026 @02:23AM (#50464073)
Interesting. One of the Restate team reached out to me because I write a lot about durable execution and I’m part of the Temporal Constellation program.

I was curious about their approach to durable execution, so I told them to come back to me when they had a .NET SDK.

The fact that they don’t is either due to the fact that they have a historic prejudice against Microsoft and by extension dotnet, or they can’t be bothered and see no point in it.

Either way the types of companies that are going to have a strong interest in resilient distributed applications, are corporations, and dotnet is still highly prevalent in those types of organizations.

So refusing to support dotnet as a SDK option in Restate is beyond short sighted. It’s leaving money in the table. I can’t take them seriously if that’s the case.

I think the fact that most coding agent images don’t include dotnet support by default. Just look at codex-universal. Swift gets included but not dotnet. Yes it’s not hard to install dotnet yourself and setup the environment, but there isn’t a real valid reason to exclude it since they’ve covered nearly every other popular language.

https://github.com/openai/codex-universal

Re:What's new in the .NET 11 runtime by stevefan1999 on Thursday November 12, 2026 @03:58AM (#50464727)
> historic prejudice against Microsoft and by extension dotnet

This. A lot of segregation is very much due to this.

> I think the fact that most coding agent images don’t include dotnet support by default

And it gets worse that that:

https://github.com/openai/codex-universal/issues/13

https://github.com/openai/codex/issues/1276

https://github.com/openai/codex-universal/pull/120

And you see that the community members are doing the work for them, yet they would still refuse using the stiffiest corpo lingo in the most passive aggressive way

"Sorry, we're not accepting PRs in this repo. If you'd like to see a change to the codex universal docker image, please file a feature request in the main codex issue tracker."

Okay, so what the fuck is this:

https://github.com/openai/codex-universal/pull/131

https://github.com/openai/codex-universal/pull/90

I know, but the fact that it is not included by default, then someone made a PR to hopefully get it in, but got refused, tell him to turn around to another issue, and then idling that issue for a long time now, it really pisses me off because there is no communication whatsoever, just like how I have this recent situation with LayerStack has fucked up their control panel, and stripped some features, not ever telling me, just avoided me. This is the part that pisses me off.

"come on, it is just a matter of adding the fucking dotnet SDK by yourself". You know, the problem is not that simple anymore, there is a little hidden agenda which turned into a stance problem, or, oh, well, I hate to say it, "technological politics".

Yeah, I know, "tech is just a tool", then where are all the criticisms when the punks are boasting how "Rust or Golang is so fast, Python and Node is dead" blah blah blah.

Anyway, if you are just trying to hide the vendetta against dotnet, then just say it. Say it out loud and stop fucking around. Make an assertion and stand on your fucking ground.

Re:What's new in the .NET 11 runtime by psd1 on Thursday November 12, 2026 @05:26AM (#50465342)
Top rant, i enjoyed it

I might point out that passive-aggressive weasels hiding behind stiff corporate speak are visually undifferentiatiable from people doing the best they can in a project with multiple competing goals in a world where they could lose their jobs for a careless public comment. Not everybody is free.

> I have to go on a furious exchange in the tickets to them

...furious?

Did you have to?

Did you _have_ to?

Re:What's new in the .NET 11 runtime by raincole on Tuesday November 10, 2026 @01:44PM (#50444416)
Being a Microsoft product is such a heavy baggage. Last time I checked the official debugger was still not open sourced and that alone was enough to make many people think twice.
Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @02:38PM (#50445212)

    > Being a Microsoft product is such a heavy baggage
Which I always found ironic because TypeScript (from the same guy that created C# even!), VS Code are both Microsoft. Microsoft also makes big contributions and investments in Postgres and Python as well.
Re:What's new in the .NET 11 runtime by bbkane on Tuesday November 10, 2026 @04:41PM (#50446702)
TypeScript has fewer competitors for the frontend than C# does for the backend
Re:What's new in the .NET 11 runtime by raincole on Tuesday November 10, 2026 @04:45PM (#50446731)
https://gist.github.com/matthiasak/c3c9c40d0f98ca91def1

JavaScript is one of the most common compile targets. "Who's the better JavaScript" was the most contested field a decade ago. These are not just toy languages - Facebook has Flow and Google has Dart. Both companies are far more web-adjacent than Microsoft. Yet Typescript won.

Re:What's new in the .NET 11 runtime by MiroslavPokorny on Tuesday November 10, 2026 @08:11PM (#50448602)
Did anyone ever explain why C# was not considered in the first place ?
Re:What's new in the .NET 11 runtime by angrysaki on Tuesday November 10, 2026 @08:24PM (#50448707)
Yes, it's because the structure of the existing codebase for the typescript compiler matched go better. (There's a blogpost about it somewhere)

edit: I think it was considered, but go was a better fit

Re:What's new in the .NET 11 runtime by MiroslavPokorny on Tuesday November 10, 2026 @10:10PM (#50449347)
What does "structure" even mean ? How or why are models so much easier in Go compared to other languages ?
Re:What's new in the .NET 11 runtime by afavour on Tuesday November 10, 2026 @11:38PM (#50449805)
Re:What's new in the .NET 11 runtime by mrsmrtss on Wednesday November 11, 2026 @01:57AM (#50450456)
Go models aren't easier, but the existing TypeScript codebase leaned heavily toward structural types, which made it a better match for Go and at least initially made porting easier for them.
Re:What's new in the .NET 11 runtime by littlecranky67 on Wednesday November 11, 2026 @02:18AM (#50450580)
Yes, Anders Hejlsberg did various times in podcasts when they announced the move go. It has nothing to do with C# not being capable enough, but rather that a line-by-line port from Typescript to Go would be easier. I think IIRC several time that had LLMs be more advanced as they are today, that choice would have been a different one.
Re:What's new in the .NET 11 runtime by bartread on Wednesday November 11, 2026 @12:28AM (#50450014)
It is weird now that you mention it. I worked in C# and .NET for a long time. In theory for 20 years. In practice I wasn't writing much C# after 2019 even though the team I led still used it.

I guess I... just got bored of it, and fed up of Microsoft. I came to hate Windows and having to work on Windows so much that it sort of tainted C# for me. I'm not saying I'd never use it again but, whilst it will run cross-platform nowadays, so will loads of other languages and frameworks, so it's never at the top of the list when it comes to choosing something for a new project.

As for TypeScript? Absolutely loathe it. I'll use it professionally when I have to, but I'd never use it for one of my own projects. It's just so ugly I don't even like looking at it. I get why people like it but, for me, it's not enough. If I'm staring at something all day then, I'm sorry, it can't be ugly.

But, strangely, I still use and enjoy VS Code from Microsoft, and have no plans to switch to anything else.

(I also still have an Office subscription - or whatever it is Microsoft are calling that suite nowadays, I don't care - because I still use both Excel and Word fairly frequently. I could probably get by without, but I actually quite like Office - even on the Mac.)

Re:What's new in the .NET 11 runtime by Turskarama on Wednesday November 11, 2026 @12:37AM (#50450052)
Ironic that you quit using it because of Windows right around the time you no longer needed to be on Windows to use it.
Re:What's new in the .NET 11 runtime by bartread on Wednesday November 11, 2026 @07:29AM (#50452645)
I needed to be on Windows for work though and, sadly, often still do, so the association is strong.

The thing is, now most things I do target some flavour of Linux - and although I could write C# and target Linux with absolutely no problem - there are a lot of other options that C# has to complete with. Granted those options would also, at least in theory, have been viable options on Windows but it definitely would have felt a bit like paddling against the flow to host Ruby on Rails or Python or whatever on Windows.

And if I want to target command line or desktop with something cross-platform I'm going to compile to a native binary that requires minimal dependencies, so Rust feels like a more natural fit than C#, especially with Microsoft's desktop UI story being such a dog's breakfast (and even more-so when you account for cross-platform).

Again, in a commercial environment, I could imagine using Electron for that sort of thing because that's what most companies do (but because everything I do nowadays is backend, web, or systems integration, I haven't written a desktop app in a commercial context in 13 years, and I haven't written a command line app in that context since just before the pandemic). However, for my own projects I want to hew as closely as possible to my own principles and ideals and, for them, it'll be a cold day in hell before I ship a desktop or command line app that needs some giant runtime like Electron as a dependency.

Again, the point is that C#, whilst in many ways a great language, doesn't come out as the frontrunner.

Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @07:01AM (#50452416)

    > As for TypeScript? Absolutely loathe it.
I just write my TS like I write my C#. They are similar enough, IMO. I ended up writing this as a precursor to our team's move from TS to C#: https://typescript-is-like-csharp.chrlschn.dev/

The main things I don't like about TS are the volatile tooling, bad habits from other devs (not declaring types), compromised ORMs, require lots of package hunting, and module system.

Language is fine, tho.

Re:What's new in the .NET 11 runtime by ExoticPearTree on Wednesday November 11, 2026 @03:35AM (#50451017)
Speaking of PostgreSQL and Microsoft, I was at at a presentation earlier this year and they are developing an underlying storage engine for it based on Azure Blob storage to get “instant” WAL replay across many replicas at once.

It was pretty impressive work to scale PostgreSQL.

Re:What's new in the .NET 11 runtime by dalyons on Wednesday November 11, 2026 @10:57AM (#50454900)
Sounds very similar to what Amazon has had with aurora postgres for many years now. Very effective but not novel from ms.
Re:What's new in the .NET 11 runtime by YuechenLi on Tuesday November 10, 2026 @03:07PM (#50445601)
The decision to use Go for TS7 compiler is even more baffling considering Go's low level memory management functionalities is nowhere near the level of C#'s Span<T> etc, especially since TS and C# are invented by the same person.

I got so worked up by it I built my own TyepScript compiler with my clankers in C# to prove that it can be done, my revival of the Common Language Runtime concept, project Copeland:

https://github.com/yuechen-li-dev/copeland

Currently, Copeland compiles a dialect of TypeScript to JavaScript, C#, WASM via Blazor WebAssembly, and NativeAOT, runs in csproj, and uses xUnit.NET for testing framework.

(The other reason is that Microsoft still refuses to do the obvious thing in .NET 11 and take the best part of Rust and let enums be `match`ed, despite the fact that both TypeScript and C# have weak enums historically, so I added payload enums to my TypeScript dialect because Microsoft won't.)

Re:What's new in the .NET 11 runtime by metek on Wednesday November 11, 2026 @04:55AM (#50451544)
https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...

Pattern matching is in C# unless I misunderstood you.

Re:What's new in the .NET 11 runtime by YuechenLi on Wednesday November 11, 2026 @09:14AM (#50453682)
You are right about the pattern matching, so it's on me that I didn't write clearly enough, what I meant is that I wish C# had Rust's compiler enforced exhaustive pattern matching over enums and the ability to carry data payloads:

https://doc.rust-lang.org/book/ch06-01-defining-an-enum.html

Instead of .NET 11's more awkward (imo) `union` form.

https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...

Re:What's new in the .NET 11 runtime by sysmax on Tuesday November 10, 2026 @11:14PM (#50449683)
There's an open-source debugger by Samsung, compatible with GDB/MI and the DAP protocols: https://github.com/Samsung/netcoredbg
Re:What's new in the .NET 11 runtime by to11mtm on Wednesday November 11, 2026 @12:35AM (#50450047)
Well, there's a lot of sides of it.

On the historical (And semi-current-ish) downside we had/have;

- lots of 'flash in the pan' stuff between 2008-2012ish (Silverlight comes to mind here)

- Anemic Entity Framework in pre-core, and the weird stuff EF Core had going on early in it's life.

- That constant worry as to whether you need to add .ConfigureAwait(false) to every async call in a library you want to open source.

- The thing where trying to do 'traits' in NetCore (Now that you can mostly mimic the behavior) has had some side-effects on performance, mostly resolved but still something you have to consider as far as impact. (To be clear tho, thank god, needed that...)

- WTF was that UWP workflow?

- Why can't we get a proper designer? I don't think it would be that hard especially given I can do nice things around workflow designers today. Speaking of workflows...

- The complete (what I probably guess was MS groups eating their own tail) thing where Workflow Foundation was almost truly productive, SSMS had a thing based on it that was surprisingly productive, and it has been murdered instead of getting the TLC it needed to really disrupt. This one is extra loud because it is so similar to the 'low code' platforms so many orgs have sank money into.

- Less impactful as far as people eating the lunch microsoft left on the table, but WCF.

The upshot is;

- If you're willing to do some looking there are great options out there. lazy example, linq2db is basically a DSL that is close enough to EFCore as far as 'how you compose' that you can teach it to a group of WITCH devs in 30 minutes or less.

- It really is easy to do all sorts of stuff. It's just productive.

Re:What's new in the .NET 11 runtime by cm2187 on Wednesday November 11, 2026 @04:09AM (#50451197)
Also they dropped any pretence of doing any long term support, which is going to create all sort of interesting CVE over the long run given that it is mostly used now for backend.

And I am still not over the many breaking changes when they dumped full framework. Have to support a large code base, I think only now with AI will it be economical to redevelop it for .net core.

Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @08:38AM (#50453271)
I've narrowly focused on .NET and C# for HTTP backends. In that capacity, it's been very stable and gotten better with each release.

EF Core now is very, very good with only one minor gap with respect to migration merging (long migration history causes build times to explode).

Re:What's new in the .NET 11 runtime by UltraSane on Wednesday November 11, 2026 @10:15AM (#50454424)
Every company I've ever worked for used C# to write business apps. The software that handles a huge fraction of all closed captioning of telephone calls is C#.
Re:What's new in the .NET 11 runtime by sfn42 on Tuesday November 10, 2026 @02:22PM (#50444971)
I think C# would be a great choice for both CLI apps and server less functions.

Other than that I totally agree with everything you said.

Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @02:31PM (#50445102)

    > I think C# would be a great choice for both CLI apps and server less functions.
Really? I feel those are the two areas where it falls short. CLI apps and serverless both value cold starts and C# is not great at it because of the JIT overhead. The immaturity of NativeAOT ecosystem on C# was cited by Anders as one of the reasons the TS team chose to rewrite in Go.
Re:What's new in the .NET 11 runtime by raincole on Tuesday November 10, 2026 @03:43PM (#50446056)
I think by CLI apps they mean something more like Claude Code than ripgrep.
Re:What's new in the .NET 11 runtime by qingcharles on Tuesday November 10, 2026 @06:33PM (#50447831)
I write all my CLI apps in C#, but I hear you on the startup time. I guess it depends what you are working on whether that little hiccup is a problem. I've never once noticed it with anything I've written.
Re:What's new in the .NET 11 runtime by macintux on Tuesday November 10, 2026 @11:07PM (#50449645)
I’d be curious whether a CLI app written in C# would compare to one in Python for startup time. Python isn’t exactly a speed demon, but I use it constantly.

I may have to play with F# for that.

Re:What's new in the .NET 11 runtime by iceboundrock on Wednesday November 11, 2026 @01:43AM (#50450371)
.NET has a pretty good AOT compiler since .NET 8

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

Re:What's new in the .NET 11 runtime by smoe on Tuesday November 10, 2026 @02:28PM (#50445062)
I recently started a new project on .NET, mainly for its batteries included approach, seemingly a bit more serious ecosystem and the tooling AI agents can leverage during development and ops. Really happy so far, but too early and too small to have meaningful conclusions yet.

I'm especially interested in exploring F# as a concise, non ambiguous way to communicate definitions between humans and agents, somewhere between writing code like the olden days of yesteryear and describing things in English prose.

Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @02:35PM (#50445178)
If you're going heavy into AI coding with C# (like approaching 100% AI code), give my 5 part writeup a read. Battle tested configuration with a fast moving team that was pretty much 100% AI code with good code quality. The configuration for `csharprepl` in particular is a special kind of unlock; having the agent be able to reach into the running DI container, wrap/replace functions while app is running just unlocks a lot of capabilities for the agent. It's the difference between an ultrasound and reaching in and manipulating the organ.
Re:What's new in the .NET 11 runtime by smoe on Tuesday November 10, 2026 @02:49PM (#50445386)
Oh, thank you, this looks really helpful at this stage!

Yes, the plan is essentially 100% AI code with a small team of programmers and domain experts from other technical backgrounds. But still depends on a few things on the business end before I can really kick it off. More of an exploration until then.

Re:What's new in the .NET 11 runtime by angrysaki on Tuesday November 10, 2026 @08:28PM (#50448733)
I'm just starting to get a handle on how to use agents, can you give a short description of how you get your agents to use csharprepl
Re:What's new in the .NET 11 runtime by CharlieDigital on Tuesday November 10, 2026 @08:55PM (#50448915)
I have more detail written up here: https://chrlschn.dev/blog/2026/08/the-unexpected-ai-stack-cs...

But the gist of it is that I wire it up through Aspire (don't need to, but makes it nice) to set the environment variable on my main app host.

I have a small set of utility functions to access the DI container with common patterns like creating a scope for scoped services: https://github.com/zeeq-ai/zeeq-app/blob/main/src/backend/Ze... (optional, but useful)

And a skill: https://github.com/zeeq-ai/zeeq-app/blob/main/.agents/skills...

I recommend you "train" the skill like I do in my the blog post. Basically ask the agent to get an instance of an object from DI like a repository class or your DbContext and have it perform some operations. Have it wrap a function and add logging. Have it replace a function. Then once it learns how to do this, have it write the skill bespoke to your project.

Re:What's new in the .NET 11 runtime by angrysaki on Wednesday November 11, 2026 @04:46AM (#50451476)
That looks really awesome, thanks!
Re:What's new in the .NET 11 runtime by EMM_386 on Tuesday November 10, 2026 @03:18PM (#50445743)
I've been writing C# for literally 25 years.

I still choose .NET as the go-to whenever I can. On Windows or Linux.

I think the baggage view was valid for a while - but now we have a new generation of developers who only know about .Net Core and may not associate the Framework years in quite the same way.

Re:What's new in the .NET 11 runtime by qingcharles on Tuesday November 10, 2026 @06:31PM (#50447807)
I've been writing .NET code for 25 years too. I've tried a lot of other languages and platforms. Every time I've come back to .NET. All my web apps run on bare metal Kestrel under Linux which has come such a long way. I write all my Windows desktop apps in .NET too. Very clean code, easy to read, easy to write.
Re:What's new in the .NET 11 runtime by rsalus on Tuesday November 10, 2026 @11:46PM (#50449843)
the APIs/primitives are so good too
Re:What's new in the .NET 11 runtime by jiggawatts on Tuesday November 10, 2026 @03:50PM (#50446142)
It’s also awesome for SREs / SysOps / Whatever We Call Ourselves Today:

Opinionated in a good way, which means almost all C# apps have the same parameterisation with environment variables, command line, and config files. It’s all very systematic, consistent, but flexible and pluggable.

“Node has that too!” you’re about to say. Lol, no. It has bits and pieces the devs have to wire themselves, which means a fleet of vaguely related apps made by independent teams will have wildly different config styles. Good luck consistently making all of them pull API client certs from KMS or Key Vault, or whatever!

OpenTelemetry is now baked in to the core components and rapidly spreading through other libraries.

Excellent “pervasive” system APIs for spans, traces, metrics, and logs means that the sources are omnipresent and very rich, going back decades. Even very old third party libraries are often a breeze to instrument.

Debug snapshots from production crashes on App Service feels like cheating.

Built in container build outputs with no extra tooling.

Sane defaults for its package manager means far fewer nasty security surprises.

Far more first-party “coverage” of essential capabilities in the optional Microsoft packages so you don’t have to resort to NPM where your security-critical code is written by Sergei and support is “LOL Wut!?”

A GC that automatically responds to container limits instead of the host limits.

It uses thread pools for async tasks in most configurations so whole categories of production-time issues that occur with single threaded runtimes just doesn’t happen.

Etc, etc…

Re:What's new in the .NET 11 runtime by christophilus on Tuesday November 10, 2026 @04:51PM (#50446809)
I love C# and F#, but every .NET shop I worked for was full of MS cool aid drinkers and enterprisey nonsense. I don’t miss the culture at all. The languages are excellent, though.
Re:What's new in the .NET 11 runtime by mohamedkoubaa on Tuesday November 10, 2026 @05:00PM (#50446901)
Exactly this. The workaround is to explicitly hire developers from other languages whose idiomatic use matches your style.
Re:What's new in the .NET 11 runtime by qingcharles on Tuesday November 10, 2026 @06:29PM (#50447789)
This. It's so nice to work on C# stuff on your own without any of that baggage.
Re:What's new in the .NET 11 runtime by zidad on Wednesday November 11, 2026 @02:47AM (#50450770)
In my experience this is changing a lot and very quickly
Re:What's new in the .NET 11 runtime by simonask on Wednesday November 11, 2026 @05:06AM (#50451615)
Going to r/csharp over on Reddit is such a weird experience coming from any other background, save perhaps Java. A lot of people just yolo'ing with MockFactoryAbstractFactoryFactory abominations and injecting dependencies into your dependencies so you can inject your dependencies.

A lot of people also seem to have bought into the "Clean Code" dogma popular in the 00s, completely still living in a world where RAM is cheap and JITs are magical.

Add to this the absolutely miserable state of Microsoft's official .NET documentation, and it's a bizarre experience. Everything is "documented" - with things like "Foo(): Constructs a new instance of the Foo class", in case you were wondering what a constructor is...

Context: I'm coming from a background of C++ and Rust. Especially the latter leaves .NET's documentation in the dust, but that doesn't mean the CLR isn't a piece of extremely solid engineering. I'm continually impressed by the .NET JIT and GC, for example, and when you dive into the poorly documented details of the standard library (it's open source these days), you'll see that the quality is very high almost every time.

So yeah, I agree that .NET and C# has everything it needs to be really great in the right hands, but many hands aren't super right.

Re:What's new in the .NET 11 runtime by Squarex on Wednesday November 11, 2026 @06:01AM (#50451977)
Agree, in Java world, most people have migrated from those design patterns, while the dotnet world still seems to be occupied with them.
Re:What's new in the .NET 11 runtime by poloniculmov on Wednesday November 11, 2026 @08:33AM (#50453213)
Is there any book that you'd recommend for modern, sane C# development? I've inherited a .net project and coming from Rails, a lot of things seem plain weird.
Re:What's new in the .NET 11 runtime by simonask on Wednesday November 11, 2026 @08:57AM (#50453494)
I don't know man... Rails seems fairly unhinged to me as well, but it's been a few years since I touched it.

My recommendation is always to understand the technology in depth, then make decisions based on what makes engineering sense. Understand the tools first. For me, that's a hands-on process, but others learn better from books. A lot of programming books seem a bit ideological from a methodological point of view, often written by people who thought they found the magic bullet (see the "Clean Code" fiasco) with perhaps limited time in the trenches.

Re:What's new in the .NET 11 runtime by fhn on Tuesday November 10, 2026 @09:17PM (#50449050)
some folks here sound a little desperate
Re:What's new in the .NET 11 runtime by keithnz on Tuesday November 10, 2026 @11:54PM (#50449874)
I pretty much exclusively use .NET with AI for backend stuff and run it all in linux containers. It's really good. I generally try to stick to stock standard .NET with only a few popular packages where it makes sense. You don't actually need too many extra things as there's quite a lot built in. Even for CLI its ok, though it won't be the smallest binary.
Re:What's new in the .NET 11 runtime by DANmode on Wednesday November 11, 2026 @12:15AM (#50449978)
> Some folks out there still think .NET is Windows only.

Wait until you meet devs who don’t understand that other OS are a thing!

Re:What's new in the .NET 11 runtime by mook on Wednesday November 11, 2026 @01:31AM (#50450324)
I know this is not really the case for many others, but for me it's because there's a lot of set up; that's usually done by IDEs, but I'm unlikely to get an IDE before I've kicked the tires a bit. Go is run "go mod init", or hand write one, or even skip that step to write a single file thing. JavaScript is similar, you can start with one file, or start with a relatively simple package.json. Python / ruby / Perl / PHP is just the one file.

As far as I know, C# and friends still require setting up a project file, and there isn't a tutorial that has one you can easily copy.

Maybe this is why I also can't get into Android development.

(It also doesn't help that my Linux distro doesn't ship the toolchain because it can't be bootstrapped from text files, as far as I understand it)

Re:What's new in the .NET 11 runtime by eeeficus on Wednesday November 11, 2026 @01:41AM (#50450365)
This used to be true but is very much false now! The CLI can create any new project, even complicated ones. You can create your own project templates if you want. You can even start a solution and project files in an editor. It’s all just xml!
Re:What's new in the .NET 11 runtime by iCarrot on Wednesday November 11, 2026 @01:46AM (#50450390)
Does `dotnet new <template>` not count?

You could also `dotnet run script.cs` to run a single file without setting up project.

Re:What's new in the .NET 11 runtime by rebeccapowell on Thursday November 12, 2026 @02:02AM (#50463966)
`dotnet run script.cs` is (in most cases) now a really nice replacement for powershell.
Re:What's new in the .NET 11 runtime by EMM_386 on Wednesday November 11, 2026 @02:27AM (#50450647)
This should do it:

dotnet new console

dotnet run

Re:What's new in the .NET 11 runtime by vortegne on Wednesday November 11, 2026 @02:49AM (#50450778)
You are exactly proving the parent comment right!
Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @10:56AM (#50454890)
A lot of this changed with .NET Core and later numbered .NET releases (currently 11 as you see from this thread :)

    dotnet new webapi
    dotnet new console
    dotnet new <template_or_sdk_here>
    dotnet run
    dotnet test
The tool chain has matured significantly and stabilized and it's quite easy to use. IMO, much easier than building backends with TS (the madness that is tsconfig.json) and getting configuration correct with TS tool chain (some easier than others).
Re:What's new in the .NET 11 runtime by rjbwork on Wednesday November 11, 2026 @01:55AM (#50450439)
Yeah. I fell in love with it about 15 years ago during undergrad at an internship. Built a few of my senior projects in it, and have made a career out of being good at it. It's been such a pleasure to see it turn into a general purpose non-MS locked language that i can run anywhere and do anything with, and it only gets better every year.

Thanks for the links. Your agent repl thing looks cool as hell.

Re:What's new in the .NET 11 runtime by chrysoprace on Wednesday November 11, 2026 @02:32AM (#50450692)
I generally agree but so far every place I've been that had a sizable .NET codebase were stuck on Framework and so in reality it was very much Windows-only.

Modern .NET is great though.

Re:What's new in the .NET 11 runtime by ptx on Wednesday November 11, 2026 @02:48AM (#50450774)
> Some folks out there are still salty about some of Microsoft's decision around OSS (debugger, hot reload fiasco, etc.)

Have these decisions changed? Is everything now open source?

Re:What's new in the .NET 11 runtime by moomin on Wednesday November 11, 2026 @05:54AM (#50451937)
No, although LLMs have reduced the amount of time you use those tools.
Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @06:35AM (#50452205)
Wiring CSharpRepl to the running app and handing that to an agent is :chefs_kiss:
Re:What's new in the .NET 11 runtime by theanonymousone on Wednesday November 11, 2026 @05:11AM (#50451658)
It's kind of bewildering for me that, despite all similarities between C# and TS (including their actual design architect), only one has received so much negativity.

Maybe MS can work out a longish-term roadmap, where in a certain future version C# and TS gradually "morph" into being the same thing (e.g. Typescript 10 == C# 20 or so)

Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @09:52AM (#50454180)
I would love a "T#" which is a trimmed down, modern C# that converges with TS.

I suppose it would look a bit like F# (LMAO)

Re:What's new in the .NET 11 runtime by wccrawford on Wednesday November 11, 2026 @06:07AM (#50452005)
I wrote C# non-professionally long ago and loved it.

I recently tried to come back and the problem isn't the language. It's getting into it. Try to click "new project" and you're met with dozens of templates, and a lot of them sound identical to the untrained observer. Which web project should you start with? Which GUI project?

I pushed through it and made the wrong choice a few times for each of those. Apparently there are stable old one, and rapidly changing and underdeveloped new ones, and no way to tell them apart other than knowing the magic incantation.

Microsoft would do themselves a major favor if they cleaned that up and made things clearer, including definite guidance on why you should pick one template over another.

Instead, they treat them all as if they're perfect and newcomers have to just guess.

And no, web research doesn't help. There are tons of people who love each of them, and only a few people willing to write well-reasoned articles based on their experience, helping someone pick the best ones to start with.

Re:What's new in the .NET 11 runtime by victorbuilds on Wednesday November 11, 2026 @06:07AM (#50452007)
Same experience here. My side project's backend is .NET 10 on Linux, in Docker on a single Hetzner box. It polls the now-playing line of ~58k internet radio stations every 20-60s and serves it as an API (tuneping.com). It's one process for all the background work (sync, polling, matching, webhooks), one for the API, and one Postgres. The thing I'd point at is the "low variance" you mention: hosted services, config and logging all work the same way, so there's very little glue code I had to invent.
Re:What's new in the .NET 11 runtime by yurish on Wednesday November 11, 2026 @06:54AM (#50452339)
The thing I do not like about modern .NET is that Microsoft completely switched to AI-generated garbage as their documentation. This may be ok if you only interact with it though agents but painful to read otherwise.
Re:What's new in the .NET 11 runtime by jojogeo on Wednesday November 11, 2026 @09:39AM (#50454003)
I'm curious why you would consider C# not right for a CLI? There are some jagged edges with xplat support (e.g. System.Environment.SetEnvironmentVariable had/has issues on Linux, haven't checked recently), but IMHO its pretty solid for composing CLIs.
Re:What's new in the .NET 11 runtime by CharlieDigital on Wednesday November 11, 2026 @09:48AM (#50454119)
It's "OK", but the benefits of Rust or Go are undeniable here: faster startup, smaller package, likely lower memory footprint by default.

You can get C# to match Rust or Go, but those would require going off the beaten path and you might as well use Rust or Go.

I think C# CLI for internal tooling that is only used by an existing C# codebase makes perfect sense. As a standalone tool that's being shipped for multiple platforms, it would be better to use Rust or Go since those will give smaller native binaries and default better performance profiles in speed and memory usage.

I think backend web APIs are where .NET shines.

Re:What's new in the .NET 11 runtime by jojogeo on Thursday November 12, 2026 @04:47AM (#50465081)
Ahh nice, food for thought thank you!