• SleeplessCityLights@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    3 days ago

    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.

  • e8d79@discuss.tchncs.de
    link
    fedilink
    arrow-up
    4
    ·
    2 days 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.

  • entwine@programming.dev
    link
    fedilink
    arrow-up
    4
    arrow-down
    2
    ·
    2 days ago

    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
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days 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.

  • refalo@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    3 days ago
    • you need predictable latency

    • you don’t want garbage collection

    • you don’t like MS

    • toolchain doesn’t exist for your target

  • Kissaki@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    2 days 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.

  • TehPers@beehaw.org
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    2 days 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.