6 ms·
It's fascinating how much the rust community dedicate work to reinvent the wheel. Don't get me wrong, it's not always a bad thing, but I believe there are still
by The_rationalist 7y ago
It's fascinating how much the rust community dedicate work to reinvent the wheel.
Don't get me wrong, it's not always a bad thing, but I believe there are still a load of interesting types of software that almost doesn't exist, and such efforts would have better ROI on those new kinds of software e.g an hypergraph database or an NLP library that allows for any inflected word to get another inflection (e.g I give in parameters input="be", kind=verb, time=present, person= 3rd plural) and it output "are".
- marcosdumay 7y agoThe ROI on improving widely used tools is quite large. And for most of them just being in a memory-safe language is already a large improvement. Not everybody wants to work on hot new things, some want focus on having their tools to stable and working as designed. We need both kinds of work.
- The_rationalist 7y agoI agree and I disagree. The ROI on improving widely used tools is quite large Yes indeed. You probably wanted to say: The ROI on reinventing widely used tools is quite large" There are some extremely used binaries that have a stagnant development and have not adapted to modern ergonomics. I beautiful example of that subset of widely used tools is cat. Cat is extremely used and yet, the rust rewrite bat is far superior, because among other things, it has color and code higlithing :0 For a rust rewrite to be successful you need the following conditions: You have ideas of improvments not present in the current tool. Your ideas are not on their roadmap. The current tool has not had too much of man/hours, which you can interpret heuristically as: the current tool has less than a few thousands of commits. Here we're talking about systemd which has 42,600 commits. By the time rustysd will have as much features as current* systemd, the original developer will be dead. As an end user I have almost zero benefits in this kind of rewrites, as I'm aware it's a far poorer software by design. If it was 1) a new kind of software or 2) a reimplementation of a tool that they can realistically manage to outcompete or 3) the development that will in the very longterm replace an old complex tool that has stopped development, then I would have been interested. Anyway if it's for fun/learning purpose, they do what they want, but utilitaristically there would be better choices.
- Drdrdrq 7y ago> For a rust rewrite to be successful you need the following conditions: You have ideas of improvments not present in the current tool. Your ideas are not on their roadmap. The current tool has not had too much of man/hours, which you can interpret heuristically as: the current tool has less than a few thousands of commits. I think you are missing the point completely. We are talking about rust, memory safe performant language, and systemd, core system in many Linux distributions, written in C++. I would love to be able to replace systemd (and kernel and core libraries too) with something that was safer at least in this aspect (memory safety). Big kudos to Mozilla for identifying the cause of many security bugs and for finding a way to solve it while keeping performance intact.
- The_rationalist 7y agoMemory bugs are only one kind of bugs. Even if stability where our only metric, systemd had more testing and bugfixing than a rust alternative would ever have. Thus even if the rust one would be free of most memory bugs, the testing made on systemd would outweigh by far this advantage. BTW by the time of the rewrite, c++ will have memory safety mechanisms similar to rust: https://news.ycombinator.com/item?id=18037566 https://news.ycombinator.com/item?id=18037566
- steveklabnik 7y agoWhile those C++ efforts are admirable, and good, they’re only setting out to do a subset of what Rust can do.
- ncmncm 7y agoAnd Rust is only setting out to do a subset of what C++ can do. Did you have a point? In particular, C++ has been engineered from the beginning to create expressive, powerful libraries, much moreso than Rust. The gap today is bigger than it was five years ago. This matters because every use of an idiomatic, powerful, mature library replaces code not using it that would have had bugs. Yes, Rust programs do have bugs. Powerful is important in libraries because it translates to actually usable where you need it, without compromise. Any library you can't or don't use does you and your users no good. Code that uses a good library will have none of the problematic, buggy constructs that Rust is supposed to protect you from.
- deleted 7y ago[deleted]
- tus88 7y agoRust was created to replace C, not build anything radically new or different.
- inopinatus 7y agoThis is the wheel of progress.
- gabcoh 7y agoFrom the README: > For now that is just out of interest how far I could come with this and what would be needed to get a somewhat working system. It is very much a proof of concept. It sounds to me like this was more of a project that was just for fun and not really meant to be a genuine attempt at producing an alternative to systemd.
- tracker1 7y agoSome of the best and most lasting systems start out this way.
- chc 7y agoYes, but you need to be an expert in NLP to write that NLP library. People in their free time write software that sits at the intersection of interesting and able.
- The_rationalist 7y agoWell said :)
- rektide 7y agoOn the one hand yes there's tons to explore, so many promising futures. But I would like to keep an open mind about works like this one. This is work that could beget all kinds of neat things! Systemd targets Linux, where as this is a bit higher level & might be portable to other environments. It allows other people to not have to create their own process management systems, not have to create their own init system. The recreation brings the availability of the giant's shoulder to many many more places, distributes it's promise to really new & interesting targets.
- enriquto 7y agoTechnology advances by the continued reinvention of the wheel. As much as I dislike Rust the language, these activities of the Rust community are spot on.
- monday_ 7y agoI get your sentiment, but creating a minimalist, but compatible alternative to systemd in a safe language is anything but reinventing the wheel. There's a real concern with systemd's feature creep, it's defaults, security and a development culture. rustysd may be a proof of concept, but it addresses real issues.
- StreamBright 7y agoExactly, like the borrow checker. Ohh, wait.
- CamouflagedKiwi 7y agoIt's pretty likely that the people writing an init system in Rust are not just gonna casually decide to write an advanced NLP library instead, since it requires a fairly distinct set of interests and skills.