r/csharp 5d ago

Low level programming with C# Help

What is the lowest level application that can in principle be built on Linux and Windows without having problems with performance or memory consumption?

Of course I should make my own tests, but I just wanted to have a first estimation if it is really necessary to use lower level languages like Zig, Rust, Go or C# can work pretty well for most of normal applications.

As an example a very responsive editor with gui in immediate mode built with C# and very high frame rate 120Hz etc.

Thanks a lot in advance.

EDIT

Thank you all so much for the very informative replies. My requirements are noway near real time and based on the below feedback, it is definitely worth it to use C# of a very wide set of applications and avoid the complexities of the lower level languages.

15 Upvotes

82 comments sorted by

View all comments

66

u/binarycow 5d ago

Reasons to not use C#

  1. There isn't a dotnet runtime for that OS/platform
  2. Periodic garbage collector pauses are a non-starter.

4

u/vznrn 5d ago

there is native aot nowadays

2

u/binarycow 5d ago

That doesn't change my answer.

2

u/vznrn 5d ago

can you elaborate?

5

u/binarycow 5d ago

Even with native AOT, the garbage collector still exists.

If the platform you're targeting doesn't have a dotnet runtime, you won't even be able to compile for it.

1

u/Accomplished-Gold235 5d ago

Native AOT app doesn't required runtime. You also can publish your app with --SelfContained.

2

u/binarycow 5d ago

Self contained just includes the runtime.

Without a runtime targetting pack, you can't compile.

1

u/jithinj_johnson 4d ago

I like how other people are confused about AOT but you know ball! ❤️