• arc@lemm.ee
      link
      fedilink
      arrow-up
      24
      arrow-down
      1
      ·
      edit-2
      4 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
      5
      ·
      4 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
      4 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
        ·
        4 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.