• RoyaltyInTraining@lemmy.world
    link
    fedilink
    arrow-up
    14
    ·
    1 day ago

    I could actually see myself contributing to Rust kernel code. C code has always been impossible for me to understand, but the Rust part seems to have a more understandable structure

    • qaz@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 day ago

      Rust code (and the ecosystem) seems to put a higher priority on describing code contracts through the type system and documentation. I personally feel you don’t need as much context to write functional code compared to C where every corner of the codebase might be hiding something that could impact the part your working on.

    • witx@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 day ago

      This exactly. I always wanted to contribute to the kernel but after being a c++ dev for so many years I absolutely don’t want to do C, and rust would allow me to have fun doing kernel hacking

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    24
    ·
    2 days ago

    Yesterday, we had a presentation at $DAYJOB, where we showed off our software project at a high level to another department. That department does lots of low-level work, including with C.

    A team lead from that department, who knows our project, had provided the initial draft for the presentation slides. And they threw a sentence at the end of the slides “By the way: $PROJECT powered by Rust”. We were also not the only project there, which explicitly mentioned Rust, even though it wasn’t strictly relevant.

    And yeah, that’s just kind of insane to me. When even management understands that their techies get excited about working with Rust, that’s not anymore just a few select voices that call for it. That’s a whole department discontent with C, where an alternative is presented.

    Which is why I would be extremely surprised, if not something similar happened with the Linux kernel.
    Obviously, those who’ve coded C for twenty years might not understand the issue, but there’s so many people for which low-level development becomes accessible for the first time with Rust. The stream of people wanting to contribute Rust code will just not cut off any time soon.

    • Kissaki@programming.dev
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      2
      ·
      2 days ago

      those who’ve coded C for twenty years might not understand the issue

      or the opposite because they have that experience

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Yeah that’s definitely true, but also the people who have been doing it for 20 years have a huge amount of knowledge and experience invested in dealing with memory unsafety. Lots of people don’t want that investment to be “wasted”, so they try to maintain the status quo, even if it is worse for them.

          • FizzyOrange@programming.dev
            link
            fedilink
            arrow-up
            6
            ·
            1 day ago

            The thing is that “learning C” means “I can write C code that compiles and might be full of bugs”, whereas “learning Rust” means “I can write Rust code that compiles and has a small number of bugs”. It’s not apples-to-apples.

            It’s like saying “I found it easier to learn primary school maths than I did to learn a physics degree”.

          • 0xDEADBEEFCAFE@programming.dev
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 day ago

            I defiantly had a far easier time learning c and apply my existing programming knowledge. Getting my head around the borrow checker was one hell of a pain in the ass.

            What specifically was difficult to understand about the borrow checker? Much of what the borrow checker requires you to do are things that you still need to do in C just without compiler support.

      • Domi@lemmy.secnd.me
        link
        fedilink
        arrow-up
        6
        ·
        1 day ago

        Rust doesn’t help with accessibility

        when u write bad c u have real serious issues

        I hope you recognize the irony.

      • jimmy90@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        edit-2
        2 days ago

        that’s odd most people praise rust for being incredibly easy to install and build any project with rustup and cargo

        you can do remarkably sophisticated things using a few crates, simple data structures and types and at C speeds or faster

        i think you’re wrong

        • zygo_histo_morpheus@programming.dev
          link
          fedilink
          arrow-up
          4
          ·
          1 day ago

          Rust allows you to create more powerful abstractions, which can allow you to express your intent in a clearer way. C code can feel like you’re bogged down by details all the time. C is on the other hand a smaller language, so just getting to the point where you “know” the language is a lot easier.

          • jimmy90@lemmy.world
            link
            fedilink
            arrow-up
            7
            ·
            2 days ago

            both C and Rust have learning curves that get steep after the initial trivial stuff

            with C as soon as you’re in array/string/pointer land, you’re in a world of seg faults

            you can get so much more done as a beginner in Rust before you get anywhere near dealing with ownership or creating advanced generics

      • Ephera@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        Well, I did mean accessible in terms of feeling semi-confident to contribute to a project with users. If you end up writing code that takes longer to review than it would’ve taken the reviewer to write it themselves, that’s always kind of unfortunate…

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    7
    ·
    1 day ago

    [memory safety] is a more or less solved research problem

    I don’t know if I would go that far. There are some interesting alternative approaches to Rust’s borrow checker that might turn out to be better. There’s definitely more research that can be done.

    But we do have at least one solution that works very well.

    • Hugin@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      The nice thing is if a much better solution exists then a rust compiler that uses it can be implemented using it. Then you don’t have to rewrite all the rust code.