this post was submitted on 07 May 2026
-1 points (42.9% liked)

Programming

26829 readers
451 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
top 15 comments
sorted by: hot top controversial new old
[–] entwine@programming.dev 2 points 5 hours ago* (last edited 5 hours ago) (1 children)

You shouldn't be using corpo slop languages anyways. That includes Swift, Go, C#, Kotlin, etc. C++ is independent from big tech. Even though it's so complex, there are TWO open source and independent state of the art compiler implementations (including one that's free software).

Also Mono (open source .NET runtime for Linux) is shit, and .NET apps sometimes struggle to run on Wine. The compatibility situation will probably get worse when Microsoft adds Copilot integration directly into the .NET runtime.

Edit: if you want a similar alternative, try Haxe!

[–] fuzzzerd@programming.dev 1 points 1 hour ago

Mono is not great because for the last ten years Microsoft shipped .net runtime has run native on Mac and linux without wine, so mono has not been seen the investment.

You're using unreal engine and not unity engine.

When your app is written in C++ and rewriting it is too expensive.

[–] e8d79@discuss.tchncs.de 3 points 9 hours ago

You can use C# for pretty much anything the question is how convenient it is to do so. There are even some people who try to use .NET with embedded systems. I would use C++ only in cases where performance is the most important aspect of the product and even that niche grows smaller and smaller as time marches on. For example, at my current job we are using C# to implement some pretty intense image processing algorithms. Initially we wanted to use C++ for the performance critical parts, but we are still well within our performance targets using C# alone.

[–] Kissaki@programming.dev 1 points 9 hours ago

Nowhere. Until you have a reason to.

Maybe it's integration, or existing code, or performance, or close to hardware, or reference lib or docs

In most industries and cases, you probably won't have to, and it makes no sense to.

[–] refalo@programming.dev 5 points 14 hours ago
  • you need predictable latency

  • you don't want garbage collection

  • you don't like MS

  • toolchain doesn't exist for your target

It's entirely depdent on the project and the team. Use C++ when you need something low level. Use C# when you need a very high level language and want to create an object oriented mess. Honestly, people will shit on C# all day long, but as far as utility goes, it is a fine language. People get caught up in the, well deserved, MS hate and ignore that it is a powerful performant language. Would people actually choose Java over C#? Dotnet compiles to Linux without having to install the Dotnet SDK on the Linux machine. It's not Windows only anymore.

[–] TehPers@beehaw.org 0 points 9 hours ago

When should a programmer use C over Python?

They both solve different kinds of problems. C# has a lot of overhead built into the language compared to C++, but it is also a lot easier to write. Unless you need C++ or prefer it due to experience/performance/etc, there's no reason to choose it over C#, JS, Python, or any other language really.

So to answer your question, thet should use C++ if they need to or will work more effectively in C++, or if the contributors want to.

[–] bizdelnick@lemmy.ml 3 points 17 hours ago

Everywhere except some Windows only apps.

[–] thingsiplay@lemmy.ml 1 points 14 hours ago (1 children)

When you don't want to depend on .NET runtime. And if there are libraries you want to use that is available in C++, but not in C#.

[–] e8d79@discuss.tchncs.de 2 points 10 hours ago* (last edited 10 hours ago) (1 children)
[–] thingsiplay@lemmy.ml 1 points 9 hours ago (2 children)

Oh wow! Since when is this possible? I looked it up, it even works with Linux (and bunch of other OSes).

[–] Kissaki@programming.dev 2 points 9 hours ago

Microsoft has been working on AOT a lot for a few years now, for the last few dotnet versions. More and more became trimmable and compilable.

[–] e8d79@discuss.tchncs.de 1 points 9 hours ago

I think they added AOT with .NET 6 and they are supporting Linux ever since the .Net Framework, .NET Core split.