246
submitted 10 months ago by ChiefSinner@lemm.ee to c/linux@lemmy.ml

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.

top 50 comments
sorted by: hot top controversial new old
[-] cashews_best_nut@lemmy.world 25 points 10 months ago

I don't understand the obsession with rust.

[-] weclaw@lemm.ee 102 points 10 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 30 points 10 months ago* (last edited 10 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.

load more comments (8 replies)
load more comments (9 replies)
[-] MonkCanatella@sh.itjust.works 40 points 10 months ago

I know the evangelists can be somewhat overwhelming, but its popularity is not unwarranted. It's fairly easy to pick up, has an incredibly enthusiastic and welcoming community. People like it because it's incredibly performant, and its memory safe. In terms of DX it's really a joy to work with. It just has a LOT going for it, and the main drawback you'll hear about (difficulty) is really overblown and most devs can pick it up in a matter of months.

[-] Ramin_HAL9001@lemmy.ml 29 points 10 months ago

The main difficulty I have with Rust (what prevents me from using it), is that the maintainers insist on statically compiling everything. This is fine for small programs, and even large monolithic applications that are not expected to change very often.

But for the machine learning projects I work on, I might want to include a single algorithm from a fairly large library of algorithms. The amount of memory used is not trivial, I am talking about the difference between loading a single algorithm in 50 MB of compiled code for a dynamically loadable library, versus loading the entire 1.5 GB library of algorithms of statically linked code just to use that one algorithm. Then when distributing this code to a few dozen compute nodes, that 50 MB versus 1.5 GB is suddenly a very noticeable difference.

There are other problems with statically linking everything as well, for example, if you want your application to be written in a high-level language like Python, TypeScript, or Lisp, you might want to have a library of Rust code that you can dynamically load into the Python interpreter and establish foreign function bindings to the Rust APIs. But this is not possible with statically linked code.

And as I understand, it is a difficult technical problem to solve. Apparently, in order for Rust to optimize a program and guarantee type safety and performance, it needs the type information in the source code. This type information is not normally stored into the dynamically loadable libraries (the .so or .dll files), so if you dynamically load a library into a Rust program its type safety and performance guarantees go out the window. So the Rust compiler developers have chosen to make everything as statically compiled as possible.

This is why I don't see Rust replacing C any time soon. A language like Zig might have a better chance than Rust because it can produce dynamically loadable libraries that are fully ABI compatible with the libraries compiled by C compilers.

load more comments (11 replies)
[-] Goun@lemmy.ml 34 points 10 months ago

And the fucking MIT License

[-] fossphi@lemm.ee 35 points 10 months ago* (last edited 10 months ago)

Yes, as much as I appreciate memory safety and rust in particular. I'm very worried by this pivot away from copyleft and GPL. Specially the rewriting in rust phenomenon of fundamental stuff. It's safer, yes, but they're all pretty much non GPL and it seems very risky to me. Make no mistake, the industry is riding this wave to move away from copyleft to permissive licenses.

I wish that people understood the importance of FSF and GNU

[-] agent_flounder@lemmy.world 7 points 10 months ago

Well that is rather insidious. Crap. They probably understand the reasons for the GPL very well. Doesn't mean they support them.

[-] fossphi@lemm.ee 7 points 10 months ago

I'm sure there's some community pull as well, because most of the rust ecosystem seems to be converged on MIT. But what despairs me is the wilful sidelining of GPL and everything GNU by some open source community members/corporate people. So yeah, you're probably right

load more comments (4 replies)
load more comments (2 replies)
[-] davel@lemmy.ml 25 points 10 months ago* (last edited 10 months ago)

It’s a system programming language that isn’t C or C++.

Edit to add: How did Go get on that page? That’s a stretch.

load more comments (15 replies)
[-] beeng@discuss.tchncs.de 7 points 10 months ago* (last edited 10 months ago)

The idea is less bugs due to stricter rules when developing and compiling. You can understand that.

Then, also more access to build tools and high level programming without changing languages.

If you have no need for that, then just know others do and it's a great thing.

[-] jack@monero.town 24 points 10 months ago

Now imagine the new COSMIC desktop environment in Rust on Redox, that would be great

[-] comicallycluttered@beehaw.org 5 points 10 months ago

Probably inevitable considering Jeremy Soller is the lead dev on Redox while also currently contributing to COSMIC.

To be honest, I'm surprised COSMIC isn't the default, but it's likely due to display server stuff that isn't part of Redox (Wayland, etc.).

load more comments (6 replies)
[-] mrpibb@lemmy.world 16 points 10 months ago

I’ve used it in a VM just to mess around. I’d like to install it on an old ThinkPad and try to compile some applications.

[-] ICastFist@programming.dev 13 points 10 months ago

How long would it take to compile their Rust microkernel alone compared to a similar one done in C? There are many posts around the web complaining about Rust's long compile times, though thankfully rarely as slow as C++

[-] Alsephina@lemmy.ml 12 points 10 months ago

Oh my god they rewrote Linux in Rust. Amazing.

[-] baconicsynergy@beehaw.org 14 points 10 months ago

Kinda. Redox uses a microkernel architecture and tries to keep only the most important functionality in ring 0 while they push everything else in userspace. It's great.

load more comments (2 replies)
[-] aodhsishaj@lemmy.world 12 points 10 months ago

I wouldn't say it's inappropriate as there is more and more rust making it into the native kernel. I'll definitely throw this on my Ventoy usb and see if I can get it to boot

[-] wiki_me@lemmy.ml 11 points 10 months ago

Having some hardware mentioned on the site that is supported and ready for use could be helpful if someone wants to try it (say raspberry pi), There are probably people who are worried to will make their computer explode.

load more comments (2 replies)
[-] callyral@pawb.social 5 points 10 months ago

I've heard about it due to the Ion shell which I tried out once

load more comments (1 replies)
load more comments
view more: next ›
this post was submitted on 21 Dec 2023
246 points (96.2% liked)

Linux

48048 readers
758 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS