• red_tomato@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    20 days ago

    The whole point of C++ is to graft Object Oriented Programming into C like some Frankenstein’s monster because OOP was the big hype.

    C++ being performant is mostly a side effect of it being based on a language created when programs were still punched into paper cards.

        • Sonnenblume@discuss.tchncs.de
          link
          fedilink
          arrow-up
          0
          ·
          20 days ago

          If you have a constant expression like 1 + 2 in your code you can evaluate it at compile time once and avoid computing it at runtime. You can do that with control flow and much more complex language constructs in C++. If you want to know more about that look into C++ template meta programming, constexpr, and constval.

            • ddplf@szmer.info
              link
              fedilink
              arrow-up
              0
              ·
              20 days ago

              C++ has pretty much no compile-time checks, while Rust’s overengineered syntax allows it’s compiler to catch vast majority of your everyday errors during compilation.

              • Mr. Satan@lemmy.zip
                link
                fedilink
                English
                arrow-up
                1
                ·
                14 days ago

                It doesn’t eliminate logic bugs. I’d argue these are way more relevant in day to day programming.

  • begrudgedcarfolk@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    20 days ago

    It’s kind of sad that so many big studios have abandoned their proprietary engines to adopt unreal engine 5. What’s going to happen when Epic starts to turn the screws because they feel like they aren’t making enough money? All these big studios won’t have any staff left that knows how to build graphical engines. Honestly, at least it would make sense if they have up on their engines and started using Godot. At least they wouldn’t be bound to Epic’s bullshit.

    • Barbarian@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      20 days ago

      At a conceptual level, it makes 100% sense that companies are moving away from bespoke engines and towards a standardized engine. This is something you see in many different industries. Spending a whole bunch of money and effort when 95% of your requirements are the same as everyone else is a bit silly.

      However, you’re completely right that there’s the same danger as in other industries where the ‘boring software infrastructure’ gets standardized and outsourced: a niche monopoly able to exploit their position. What tends to happen in the long run is an open source project for that infrastructure run by an NGO with the industry members (in this case AAA game companies) on the board of directors.

      • mnemonicmonkeys@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        20 days ago

        A lot of these developers would be better off in the long run working in Godot and submitting PR’s for fixes and updates that they need

    • zurohki@aussie.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      20 days ago

      You’d write the code in something else and then be like

      import 3dengine
      3dengine.run()
      
      • whimsy@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        20 days ago

        Aah yes, the entire numerical python stack being carried on Fortran and C’s shoulders

        • Whelks_chance@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          20 days ago

          The tutorials and walkthrough guides for all of that stuff are infuriating.

          What do you mean I just import and run “unbelievably_specific_tool” and run it? How am I supposed to do anything other than process this example data with that?

          • qaz@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            19 days ago

            Exactly, coming from Java it was such a big difference. Previously I could click on any class or method and view the implementation, with Python, suddenly everything was a convoluted jungle of methods popping into existence during runtime or being loaded from some opaque binary.

      • mycodesucks@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        20 days ago

        Not enough. It’s why they all need so many fucking resources and why you need to spend $1500 on a video card for a game that could run on a 15 year old GeForce if the developers put any effort into optimizing anything.

        • klankin@piefed.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          20 days ago

          Expecting even a medium to large team to waste resources on essentially reinventing the wheel would probably result in shittier games, IMO.

          And with their new engine no one is stopping them from adding dlss the entire way, so performance never once has to be a consideration (minus on their test rig of 2 5090s, 128GB of ddr5, and the latest threadripper of course).

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      20 days ago

      You know the majority of LLM stacks are in python, right?

      We already live in that world, basically.

      Python LLM training produces models that are then refined into things that 3D engines plug into to do AI upscaling and framegen, and then different python trained LLM models use more python to interface with MCPs to write more slop extensions and frameworks in/for game engines, and other programs.

      Still different python derived LLMs do image/facial/3d object recognition, get plugged into moar python, and then produce models… often for game engines.

      Its nearly literally an ouroboros.

      • fibojoly@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        18 days ago

        It’s funny that you think Python is anything else than a wrapper for real languages that get shit done.

        • sp3ctr4l@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          17 days ago

          Let me know how many LLMs you can run locally without multiple entire suites of python libraries.

          Muchless train an LLM.

          Yeah, load bearing ‘wrappers’.

    • Dreamcatcher@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      19 days ago

      This is why we should only use Python. :)

      So great for programming, with no downsides. Why hasn’t anyone thought of this before?

      I’m a genius, i know.

  • Wirlocke@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    0
    ·
    19 days ago

    I love C++ as a god defying monument of backward compatibility. You can go through the versions like an archeologist looking through layers of rock to see what the trends of that time were. There’s not only one way to do the thing you want, but several, too many ways, and no one can stop you from frankensteining pieces together that were never meant to be.

    If C is meant to be a basic toolbox, C++ is your dad’s disorganized tool cabinet he keeps in the garage. Overflowing with barely used, highly specific, and redundant tools.