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.

  • @weclaw
    link
    1045 months ago

    From my personal experience I can tell you 2 reasons. The first is that this is the first general purpose language that can be used for all projects. You can use it on the web browser with web assembly, it is good for backend and it also is low level enough to use it for OS development and embedded. Other languages are good only for some thing and really bad for others. The second reason is that it is designed around catching errors at compile time. The error handling and strict typing forces the developer to handle errors. I have to spend more time creating the program but considerably less time finding and fixing bugs.

    • @agent_flounder@lemmy.world
      link
      fedilink
      English
      30
      edit-2
      5 months ago

      That sounds pretty great. I get sick of having to switch gears for every layer. As a hobbyist it is tough to remember five or six languages well enough when only coding something a few times a year.

      Since I do embedded, scripting, web front and back end this is sure tempting.

      I have been hesitant to try to learn yet another language (this would make…ummm… idk I lost count ages ago). But with all the hype I may break down and give it a whirl.

      • @YIj54yALOJxEsY20eU
        link
        25 months ago

        Sounds like python may be a better fit if its supported on the embedded devices you use as it will cover scripting and backend too. Rust has quite a learning curve and can be rather verbose.

        • @agent_flounder@lemmy.world
          link
          fedilink
          English
          35 months ago

          I do use python quite a bit for scripting and backend, app, and I’ve used MicroPython a little bit, preferring C, C++ for embedded. It’s pretty great for what I need.

          I might mess around with Rust out of curiosity anyway, though the downsides you mention make it less compelling for me, personally. I’m not a big fan of verbose languages (e.g., Java, though I have used it for some apps).

          • @anton@lemmy.blahaj.zone
            link
            fedilink
            35 months ago

            Messing around with rust is certainly worth it, as it can change the way you think in a way that improves code in whatever language you write.

          • @YIj54yALOJxEsY20eU
            link
            25 months ago

            If you are curious definitely do check it out! It’s a really cool language to learn and you’ll start to enjoy the fight the compiler puts up.

        • @someacnt_@lemmy.world
          link
          fedilink
          05 months ago

          Sorry but I don’t see the reasoning backing the enthusiasm for python. Sure, it is great for scripting (this includes machine learning), but why for anything else?

        • @LeFantome@programming.dev
          link
          fedilink
          05 months ago

          I realize that even $2 systems are running full Linux distros these days but Python does not map to what I think of as “embedded”. If you have a full Python interpreter, it is already a pretty rich environment.

          That said, this is what computing is starting to look like. There is less and less “bare metal”. I work with people that claim to be “firmware” engineers and then, when you look, you find out they have a full Ubuntu distro running and they may as well be running on a laptop.

      • xor
        link
        fedilink
        English
        95 months ago

        Not sure I can think of anything I’d enjoy less than trying to build a web app in cpp

      • @weclaw
        link
        75 months ago

        Before using Rust I was using C++ for most projects and while it is a really powerful language there were some big problems:

        • no standard build system, most projects use cmake or meson and vendor dependencies with the projects. These build systems were really hard to learn (especially cmake, meson is easier). There are package managers these days such as conan and vcpkg but there is not really one standard way to build programs like in rust.
        • error messages were really hard to understand, especially when the project uses templates
        • it felt like 3 languages in one, projects written before c++11 differ greatly from c++11 and up
        • some of the new language features have really weird syntax, for example lambdas
        • some people say that rust is hard, but modern c++ is considerably harder to learn, just look at the list of modern c++ features: https://github.com/AnthonyCalandra/modern-cpp-features, you have to know the different pointer types (unique_pointer, shared_pointer etc.), templates, rvalue references and move semantic, exceptions, constexpressions and the list goes on
      • @Wooki@lemmy.world
        link
        fedilink
        55 months ago

        Rust was created because c++ was so bad. Just take a look at crates they need a whole lot less maintenance because less bugs.

        • @LoETR9@feddit.it
          link
          fedilink
          3
          edit-2
          5 months ago

          My point wasn’t that C++ is good. My point was that C++ can and is used everywhere (desktop applications, web applications, OSs,…) and is older than Rust. So I feel that “this is the first general purpose language that can be used for all projects” is false. Probably “this is the first general purpose language that I (and many others) like to use for all projects” is true, but is a different claim.

          TLDR: You said Rust was first language capable of system, app and web, it isn’t.

          • @LeFantome@programming.dev
            link
            fedilink
            15 months ago

            It depends on what “can be used” means. I really like C# and it “can be used” for that full stack C# for example can write out native machine code, can manually and precisely lay out memory, and can directly link to assembly language routines. You can write an OS in C#. Even as a fan though, I would certainly argue that it is the wrong tool for that job.

            In the same vein, while I know C++ “can” be used for web dev, I would argue that anybody that tries to do so for any significant project is insane.

            I am not sure I would use Rust for “everything” but I do think the claim that Rust is one of the first languages where it is reasonable or practical to choose it for any of these uses is valid. Rust code can be very high level and often does not much different than a scripting language. At the same time, it can go as low-level as you want. This article is about an OS in Rust ( and there are few ). Web dev in Rust is totally reasonable and there are a few popular frameworks available. Rust has one of the best WASM stories around.

          • @weclaw
            link
            15 months ago

            I meant it more as “this is the first general purpose language that is suitable for all projects”, you’re right it’s not the first language capable of that. If you are a masochist you could even write everything in assembly, but it does not mean it’s a good idea. C++ can be used for operating systems but I would argue it’s not a good language for that, there are reasons why it wasn’t added to the linux kernel (for example using exceptions requires special runtime support and adding support for standard library requires a lot of work)

          • @Wooki@lemmy.world
            link
            fedilink
            05 months ago

            It is good and rust improves on its gaping weaknesses.

            Yeah I never made that claim the threads OP did.