This isn’t Linux, but Linux-like. Its a microkernel built from the rust programming language. Its still experimental, but I think it has great potential. It has a GUI desktop, but the compiler isn’t quite fully working yet.

Has anyone used this before? What was your experience with it?

Note: If this is inappropriate since this isn’t technically Linux, mods please take down.

  • LalSalaamComrade@lemmy.ml
    link
    fedilink
    arrow-up
    9
    arrow-down
    11
    ·
    edit-2
    11 months ago

    But what is wrong with C and C++ apart from the ISO fuck-up (ahem, slow updates)? There’s a lot of technical debt, so wouldn’t it be better to create an alt-language compiler that adds improvement over C, so that migration is possible in multiple stages?

    Something like:

    1. Fix shitty imports
    2. Improve syntax rule
    3. Improve memory management
    4. Other new misc features
    • Spore@lemmy.ml
      link
      fedilink
      arrow-up
      45
      ·
      edit-2
      11 months ago
      1. breaks compatibility
      2. breaks compatibility
      3. breaks compatibility
      4. hard to add without breaking compatibility

      Then we arrive at Rust as a natural outcome.

      And it’s of course possible to migrate to Rust from C or C++ progressively, fish has almost got it done.

      • jack@monero.town
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        11 months ago

        Did fish migrate progressively tho? I thought they swap out everything at once as soon as the rewrite is ready

        • Spore@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          11 months ago

          Well, they are not going to release in between, but their rewrite still “works” at each commit being a hybrid of Rust and C++.

    • Mubelotix@jlai.lu
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      11 months ago

      Rust isn’t just a new improved version of C or C++. It’s completely new and it feels completely different to use Rust. In a positive way

    • callyral [he/they]@pawb.social
      link
      fedilink
      English
      arrow-up
      8
      ·
      11 months ago

      (notice: I am not a Rust or C/C++ expert)

      Doing all that is creating a completely separate programming language from C. Rust is that programming language.

      Fix shitty imports

      Rust does that with modules and crates.

      Improve syntax rule

      You mean having consistent/universal style guidelines? Rust pretty much has that with rustfmt.

      Improve memory management

      Safe Rust is memory safe (using things like the borrow checker), and Unsafe Rust is (usually?) separated using the unsafe keyword.

      Although Unsafe Rust seems to be quite a mess, idk haven’t tried it

      Other new misc features

      Rust has macros, iterators, lambdas, etc. C doesn’t have those. C++ probably has those but in a really weird C++ way.

      • LalSalaamComrade@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        11 months ago

        I should have framed my words better, I guess. Rust is a radically different language, and honestly, none of the feature it offers fixes the main issue, that is technical debt - I mean yes, there’s incline C or FFI, but that’s still going to be a radical migration.

        What I’m trying to propose is an alternative project, independent from the ISO. Maybe it could be a C-to-Rust, or a C-to-Vale migration project. It could be any of the modern language, I don’t really care. But that particular compiler/transpiler/migrationpiler/-piler should have the ability to do step-by-step migration.

        • Spore@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          I’d say no. Programming safely requires non-trivial transformation in code and a radical change in style, which afaik cannot be easily done automated.

          Do you think that there’s any chance to convert from this to this? It requires understanding of the algorithm and a thorough rewrite. Automated tools can only generate the former one because it must not change C’s crooked semantics.

          • LalSalaamComrade@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            11 months ago

            I was planning to learn C23 for quite some time. It’s a pity that I’ve been planning to learn RISC-V with it, sigh. I guess I’m gonna move over to Rust or Zig, whichever makes sense. But I’d probably switch, when Vale becomes a legit language.

            • Spore@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              11 months ago

              I think there’s no need to stick with one particular language. It benefits to learn more languages and bring the “good parts” of their design into your code whatever you are writing it in.

              Btw It happens that I’ve learned a bit of RISC-V, with Rust.

    • Skull giver@popplesburger.hilciferous.nl
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      C and C++ can’t be fixed retroactively because old code must remain compatible.

      If you’re going to implement your own C dialect, you may as well just write a new language.

      For C++ that’s Rust, for C that’s probably Zig (Zig will just let you import existing C files, which helps with porting). Carbon and experimental languages like Jakt may also work, it all depends on what your priorities are.

    • agent_flounder@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Idk what the iso fuck up and I don’t code enough to appreciate whatever technical debt exists in either so I am probably sound like an idiot but…

      Since I do infosec, the glaring issue for me is not being memory safe.