this post was submitted on 21 Dec 2023
244 points (96.2% liked)

Linux

48122 readers
646 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
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] guitarsarereal@sh.itjust.works 32 points 10 months ago (8 children)

I'm not against Rust, per se, the idea of a systems programming language with some more advanced memory safety features sounds nice, but what is with the emphasis on creating a Rust version of everything? Like why should we want an OS written only in Rust?

[–] ExLisper@linux.community 59 points 10 months ago (2 children)

People keep saying this but Rust is not only about memory safety. It's not C with memory safety sprinkled on top. Compare with C and C++ it has better tooling and dependency management, it's easier to create modules and organize your code, it's easier to write tests and it has loads of nice, modern language features like algebraic types and typeclasses. Because of all this Rust is growing fast and a lot of people like it. Writing things in Rust is a bet that more people will get behind them and you will be able to add more features faster to them than to existing projects in C. The idea is not to simply do the same but in Rust. It is to have a cleaner, easier to approach codebase that will allow to grow faster in the future.

[–] agent_flounder@lemmy.world 17 points 10 months ago

It would certainly be interesting to see if an OS written in Rust can end up being notably more reliable and secure. My curiosity is piqued by the features you mention.

[–] guitarsarereal@sh.itjust.works 7 points 10 months ago* (last edited 10 months ago) (2 children)

Yeah, but I don't know any other language where the fact a program is written in that language is used as a selling point. I never cared that Linux was written in C, I cared that it does its job. I've heard about Redox many times, yet never once has there ever been anything said about it other than "it's written in Rust! :D" Literally, the fact that it's a UNIXY operating system written in Rust is the first thing about the OS on their home page.

Hey, Linux started as a learning project, you learn more about programming by writing code, so I'm not saying it's bad, I just can't understand why I'd care about something that at this stage seemingly is just a learning project.

[–] nous@programming.dev 11 points 10 months ago* (last edited 10 months ago)

But it happens all the time with other languages. Especially when that language is newer or in the headlines. NodeJS/Electron was a big one a few years ago. Ruby/On Rails a while before that, have seen it for python programs and way back in the day when java was all the rage.

Personally I think it does matter and as a end user I do care to come degree. It tells you some things about the program, like how it can be install/run what deps you might need, is it going to be a memory hog or possibly full of vulnerabilities. The language affects all of these things, more so when the projects are new or niche and have not been hardened over time or been properly packaged yet.

Personally I love it when a program is written in languages like rust or go as it means I know it is going to be easy to build/install and distribute given they build into single binaries and very easy to make static. But if I see one written in nodejs with electron I am disappointed as I know it is going to be a huge package that consumes large amounts of memory. Or if there is some python package that is not already packaged by my distro I would avoid it as I hate dealing with python dependencies and its virtualenvs.

And for this case, with redox. Well redox is not an application to be used by people. It is a showcase about what can be done in the language. It is not intended for most people that hear of it to ever run it or even want to run it. Yet is very impressive what they have managed to do in it. Including having parts written for it be able to work standalone in Linux and other OSs.

[–] ExLisper@linux.community 5 points 10 months ago

That's fair, I'm just saying it's not "OS with memory safety" but "OS written in modern language". I guess it's interesting in itself but yeah, definitely not groundbreaking.

[–] mogoh@lemmy.ml 22 points 10 months ago

Some thoughts:

  • Testing the capabilities of rust and proving what rust is capable of.
  • Seeing what rust is not capable of and proposing improvements for the rust language and ecosystem.
  • Trying new OS concepts. Linux for example is strongly backwards compatible. Starting a new OS is the opportunity to do things different and maybe better.
  • Maybe it will turn out, that the memory safety will improve OS'. We will only know for sure, if we try it.
[–] Static_Rocket@lemmy.world 20 points 10 months ago

Eh, I welcome the iteration. It gives people a reason to practice and hey, who knows, maybe they'll come up with something neat while rewriting curl or something

[–] QuazarOmega@lemy.lol 12 points 10 months ago

Carcinisation is inevitable

- Ferris

[–] DumbAceDragon@sh.itjust.works 8 points 10 months ago* (last edited 10 months ago) (4 children)

This is one of my main gripes with the rust community. What programming language you used shouldn't be of any concern to the end-user, let alone be put in the tagline.

Rust is a very good and capable language and I enjoy using it. I can't wait for the day it overtakes C or C++. But I want to know more about the program I'm using other than that it was written in a popular language.

"Written in rust" is basically a meme at this point.

[–] davel@lemmy.ml 11 points 10 months ago* (last edited 10 months ago)

This is typical of when a language is the new hotness. It eventually dies down, either because the language becomes endemic or it fades away.

[–] mactan@lemmy.ml 11 points 10 months ago

not necessarily about the language, but things periodically getting rewritten or re-implemented is a useful exercise. it's a moment for reflection and analysis of the structures and systems as a whole

[–] LeFantome@programming.dev 1 points 10 months ago* (last edited 10 months ago)

Rust has characteristics that basically represent a value proposition for the user. An OS that can be higher performance, better at concurrency, more robust, and more secure sounds pretty good to me. They could make those claims and I could not believe them or they could tell me it is written in Rust and I would hope for all of them.

Of course, the language is not a guarantee of anything but it does tell you something about the tailwind that this project will have.

Python implies a bunch of things as well. None of those things make it sound great for an OS and I would assume the worst if an OS project told me they were using Python ( for the core ).

Personally, I am very glad that they tell me the project is written in Rust. I am sorry it bothers you.

It sounds like a elective complaint about Rust though as most OS projects tell you the language up front including C and C++. C++ seems especially eager to announce itself as a superior choice to C. I have not done much research but can tell you what language even most commercial operating systems are written in as they are usually pretty open or even vocal about it. Sometimes they are proud of what the did not pick ( see Linus opinions of C++ for example ). Haiku and SerenityOS, in contrast, brag about C++ and have even made YouTube videos about it.

It is not just OS projects either. I mean, why does GitHub display the language used as a standard project feature after all?

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

Rust is used by modern people to create modern programs. If the program would be in C++ for example, a very complicated, error-prone language, that gives me insight into how well (or not) that program might be supported in the future

[–] chitak166@lemmy.world 2 points 10 months ago

Languages are easier to work with the bigger the ecosystem.

[–] redempt@lemmy.world 1 points 10 months ago* (last edited 10 months ago)

I've been installing a lot of things written in rust recently, and I've noticed a trend between them. They're all stable, fast, and very user-friendly. I don't really have to fiddle with them nearly as much. I think there's a lot that goes into this, but it really boils down to: rust is safer and prevents huge categories of bugs, it's incredibly stable and requires less debugging and maintenance, it has extremely high level abstractions to make development quick and less verbose, and it has the best tooling I have seen for any language. It enables developers so effectictively that the things that are usually tedious and difficult become easy and potentially mandatory, and so you just get better software.

I know that sounds pretty abstract and opinionated, but having used the language for several years now, and especially coming from Java, I have really felt an incredible difference - I stopped having to constantly fix breaking Gradle builds and JVM version management, I stopped getting null pointer exceptions, and I had much more powerful tools for building abstractions. When you see how much control and power rust gives you while still keeping you safe, it's just night and day compared to the especially old languages like C.

Basically, anything written in rust will be better if it can enable developers to spend their time working on useful features instead of fixing bugs, fiddling with build systems and fragile legacy infrastructure cobbled together from dozens of third party tools.

[–] jack@monero.town -2 points 10 months ago* (last edited 10 months ago)

The language is newer so it does a lot of things better than C, C++ and even higher level langs like java. It is more probable that people in the future build upon Rust than legacy languages.

Comparable to how it would be misguided now to start a project that only runs on Xorg