upvote
You can get very low-level in C# but at the point you start using unsafe the nature of the language changes very suddenly.

Unsafe C# is the most unsafe language I've ever worked with. Really terrifying stuff.

reply
Fortunately, there have been a lot of improvements to low-level C# since v7 that make unsafe unnecessary in a lot of situations. E.g. ref structs, ref local variables, ref returns, stackalloc improvements etc.

There's an interesting comparison of these C# features with Rust: https://em-tg.github.io/csborrow/

reply
Recently created a smart card reading n writing tool for internal use.

Manipulating bits with c# was very pleasant. Building the UI was incredibly quick and easy.

Can recommend.

reply
Would also recommend. We've integrated many different hardware devices with an app, and the process has consistently been very straightforward.
reply
Patriots of Pascal language family are expected to prefer Oxygene over C#
reply
Last time I checked, NativeAOT was only for console apps, i.e. didn't support any GUI frameworks.
reply
Avalonia and Uno both support NativeAOT:

https://avaloniaui.net/

https://platform.uno/

reply
I was even able to statically link native dependencies during NativeAOT compilation of Avalonia app to produce a single binary. It's not the default mode for AOT compiled Avalonia, but it's possible.

ImGui.Forms is another one that supports NativeAOT.

reply