• riodoro1@lemmy.world
    link
    fedilink
    arrow-up
    34
    arrow-down
    10
    ·
    8 months ago

    All those memes picturing C++ as unsafe and unstable yet the server that serves these memes is running mostly C/C++ and has an uptime of months.

    • arc@lemm.ee
      link
      fedilink
      arrow-up
      36
      arrow-down
      1
      ·
      8 months ago

      Lemmy is written in Rust. There might be bits of C at the periphery behind bindings.

        • arc@lemm.ee
          link
          fedilink
          arrow-up
          25
          arrow-down
          1
          ·
          edit-2
          8 months ago

          Predominantly C. But even the kernel is beginning to use Rust as a way of avoiding entire classes of programming error.

        • voxel@sopuli.xyz
          link
          fedilink
          arrow-up
          6
          ·
          8 months ago

          well and it’s only running this well because of decades of effort and millions of effort spent on security reviews

        • MonkderZweite@feddit.ch
          link
          fedilink
          arrow-up
          2
          arrow-down
          3
          ·
          edit-2
          8 months ago

          They implemented some sort of OOP tho.

          edit: I meant: the Linux devs implemented some sort of OOP in their C code in the kernel – is something i read forever ago.

          • arc@lemm.ee
            link
            fedilink
            arrow-up
            11
            ·
            8 months ago

            Rust isn’t really OOP like C#, Java or C++ - it has structs with functions that you could consider an “object” but there is no inheritance. Instead Rust uses traits which are a little bit like interfaces in some languages.

            The way the kernel is using Rust at the moment is to produce safe bindings for modules to be written in Rust, i.e. you can create a module in Rust source which will be correctly loaded up, the code is safe by default and will have access to kernel services via bindings. I expect over time that more of the kernel will become Rust, but the biggest impediment right now is Rust relies on LLVM and LLVM only supports a subset of targets that a kernel could potentially support with another compiler like gcc.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      17
      ·
      8 months ago

      True, but that’s partly because the Linux is beyond mature, and you can ferret out a lot of bugs with millions of users over decades.

    • AMDIsOurLord
      link
      fedilink
      arrow-up
      17
      arrow-down
      3
      ·
      8 months ago

      Also they’re always treating C++ like it’s some arcane enterprise variant that uses 1990s C++

      Using modern C++ you can write much cleaner, more usable, and really safe code

      • riodoro1@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        Having a thorough process and an engineer approach in software development is also pretty handy. There weren’t many bugs in the AGC. Yet it was programmed mostly in assembly and people had no trouble trusting it with their life.