Hey!

I’m a professional software engineer with several years of experience using Rust. Unfortunately I don’t really have the time to contribute to Lemmy directly myself, but I love teaching other people Rust so if:

  • You are curious about Rust and why you should even learn it
  • You are trying to learn Rust but maybe having a hard time
  • You are wondering where to start
  • You ran into some specific issue

… or anything to do with Rust really, then feel free to ask in the comments or shoot me a PM 🙂

  • SorteKanin@feddit.dkOP
    link
    fedilink
    English
    arrow-up
    5
    ·
    8 months ago

    Unfortunately embedded programming is not something I have first hand experience with, but I’ve read how it works.

    The Rust standard library is actually split into 3 layers:

    1. Core: This is core stuff built into the language. No dependencies needed. No memory allocation, no syscalls, no nothing basically. This defines the primitive types like i32 and str and pure functions on those.
    2. Alloc: Provides heap memory allocation on top of core, giving access to types like Vec and String. Still no operating system so no file IO or anything like that.
    3. Std: The full standard library that generally assumes the presence of an operating system with file systems and networking and all that jazz.

    You probably want to check out the Rust embedded book.

    The language is obviously still the same even if not using the full standard library. Feel free to ask more specific stuff, though I’m not very familiar with embedded.

    • Croquette@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 months ago

      Thanks for the answer.

      Since I am more interested in the embedded side of Rust (though I don’t mind the software side of it), do you think I am better off starting directly with embedded Rust? Since the std lib is not available for embedded.

      • SorteKanin@feddit.dkOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 months ago

        I think you should go for what interests you, that will be the best way to learn since you’ll be motivated. If you mostly intend to do embedded anyway, learning anything else could just be a waste of time. I guess it’ll just be easier since you won’t have to learn the standard library :P