• arc@lemm.ee
    link
    fedilink
    arrow-up
    36
    arrow-down
    1
    ·
    10 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
        10 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
        ·
        10 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
        10 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
          ·
          10 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.