Edit: sorry I didn’t realize I already posted this

  • Caveman@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 day ago

    I mean, gdscript in godot is very nice and convenient. It offloads a lot of the heavy labor to the engine already and is very well optimised. If you need more speed and type safety C# is the logical next step. C# is very convenient and easy to pick up if you already know Typescript for being a strict language.

    Also the guy’s criticism of C++ is basically that nothing is bundled in and keeping libraries compatible with each other is a PhD level activity. The packages are also allowed to fuck with your code with macros, preprocessing directives etc. on top of being written in a non-compatible standard where they only provide a compiled binary with an ABI instead of giving you the source. Updating dependencies becomes a massive pain also because of the same reason since it can so easily break everything without any reasonable stack trace. You might say “Ok whatever, I’ll just preprocess my C++ and rename all by variables” but dependencies can also break other dependencies with macros so there’s no escape. One dep updates, another one breaks in an 100% unrelated part of the program.

    But for a reasonably sized project where C++ dependencies are already handled by Godot it’s not that bad. Especially if you’re the only developer or have at least good codebase standards on what parts of C++ you will use. I’ve personally not had any issues programming in C++ but that’s probably because I’ve never done anything at any scale whatsoever.

    I don’t have a strong opinion on lower level languages since I work in garbage collected languages but I’ve heard good things about Zig, heard Rust in slow-mo development with a steep learning curve but very robust, C is nice and simple but lacks modern features.

    TL;DR C++ devs would kill to get something like cargo in Rust, not because it’s a package manager but because it’s a standard for sharing code and managing compatability. If that’s not an issue for you C++ is a solid language like any other.

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      16 hours ago

      I don’t have much to say in detail, other than ‘thank you for the very well worded and thought out response!’

      I will have have to chew on this for a while, I think, to fully grasp all of it, hah!