TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Replacements for existing software written in Rust

170 pointsby prabiralmost 4 years ago

25 comments

laumarsalmost 4 years ago
I get the point of wanting to use safer languages but I feel this list somewhat misses the point and looks more like some misguided worship to a single language. For example a lot of complaints that can be made about C and C++ don’t apply to Haskell yet this list parades a Rust counterpart to Shellcheck as if it’s automatically better just by the fact it’s written in Rust (frankly, I’d rather trust the more mature Shellcheck).<p>And a lot of those projects are just someone’s pet project, often written as a task for learning Rust, and certainly likely to have numerous new bugs that haven’t yet been found just by virtue of being a ground up rewrite.<p>As I said, I’m fully in favour of using newer and safer languages but we need to be careful not to get carried away with thinking anything new is better simply because it’s new.
评论 #27316456 未加载
评论 #27312964 未加载
评论 #27313839 未加载
评论 #27315771 未加载
评论 #27313687 未加载
评论 #27320047 未加载
评论 #27313970 未加载
评论 #27317220 未加载
评论 #27313391 未加载
评论 #27313715 未加载
评论 #27313080 未加载
评论 #27313705 未加载
评论 #27315819 未加载
评论 #27318407 未加载
评论 #27316483 未加载
评论 #27319775 未加载
评论 #27326599 未加载
评论 #27320552 未加载
评论 #27317255 未加载
评论 #27315702 未加载
Zhylalmost 4 years ago
Wow, a <i>lot</i> of hate for this list, but I&#x27;ll unpick something that is slightly below the surface here:<p>We are currently seeing a bit of a command line renaissance. The justification for this is a &#x27;rust rewrite&#x27;, but as many have pointed out, just because something is in such-and-such a language doesn&#x27;t make it good.<p>However, what I tend to find with the new rust CLI tools is that they bring with them modern design sensibilities. They can use better conventions, better defaults, assume things like colour terminal emulators (or fallback to non-colour if not outputting to a terminal).<p>The experience of using them is often much different to using the old GNU versions made in the 80s which reimplement tools made in the 60s and 70s.<p>I&#x27;m not saying all the other criticisms in this thread aren&#x27;t valid, but I think it&#x27;s worth highlighting the positives of the tools mentioned in a list like this rather than just throwing negativity on it.
评论 #27318647 未加载
评论 #27313944 未加载
评论 #27316524 未加载
de_keyboardalmost 4 years ago
Am I the only one who doesn&#x27;t care what a tool &#x2F; software package is written in, provided it does the job? If a Rust port is superior then sure, I&#x27;ll use it, but I won&#x27;t use it because it was written in Rust.
评论 #27312918 未加载
评论 #27313154 未加载
评论 #27313723 未加载
评论 #27318982 未加载
评论 #27312889 未加载
评论 #27316190 未加载
评论 #27314131 未加载
评论 #27358660 未加载
评论 #27313374 未加载
评论 #27312860 未加载
csomaralmost 4 years ago
I know people here are a bit touchy about Rust, and writing everything in Rust. But here is one advantage I have found with Rust programs: The installation just works. Cargo, as a package manager, is just wonderful.<p>I have lost counts of how many times my &quot;brew&quot; or &quot;pacman&quot; failed to install something. It&#x27;s much worse if it&#x27;s Python; and things that work in macOS are not guaranteed to compile in Linux, and vice-versa. On the other hand, my &quot;cargo install&quot; almost never fails.<p>For that reason alone, I welcome any initiative to write something in Rust.
评论 #27313611 未加载
评论 #27316196 未加载
评论 #27313365 未加载
评论 #27313454 未加载
评论 #27313413 未加载
darthrupertalmost 4 years ago
These Rust replacements are unique in the way that most of them vastly improved on the original. I still don&#x27;t quite understand what about Rust made that happen. They could have been easily written in, say, Nim years before Rust existed.
评论 #27319205 未加载
评论 #27318423 未加载
j1eloalmost 4 years ago
This silly list (for the several reasons that have been repeated in most comments here) makes me want to see another list that would actually be useful:<p>A list of &quot;<i>software replacements that are considerably better[0] than most well-known counterparts</i>&quot;<p>[0] disclaimer for nitpickers: obviously not for 100% of cases, but what we could say for the &quot;general usage&quot;. E.g. I&#x27;m sure there is someone out there that claims an obscure feature of <i>grep</i> is not replaceable for their workflow... but for the other 99% cases, <i>ripgrep</i> is fantastic.
bruce343434almost 4 years ago
Why? Most of these &quot;existing software&quot; are tried and tested tools that have stood the test of time. Why rewrite them and introduce potential bugs? Write something new!
评论 #27312899 未加载
评论 #27313014 未加载
评论 #27313455 未加载
评论 #27317444 未加载
评论 #27317369 未加载
评论 #27312907 未加载
ibraheemdevalmost 4 years ago
I compiled a list of modern replacements for unix commands [0]. While many of them are written in Rust, there are C, Go, and Python programs on that list as well, because I feel the point is not what language the tool is written in, as long as it solves a problem or is an improvement over existing tooling in some way. Not a knock against this list, I just think it is better to list <i>all</i> tools that may be useful to people, rather than excluding some simply because of the creator&#x27;s choice of language.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;ibraheemdev&#x2F;modern-unix" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ibraheemdev&#x2F;modern-unix</a>
oblioalmost 4 years ago
He he. The name is slightly ambiguous, at least to me, I originally thought people were already rewriting Rust tools :-))
评论 #27312892 未加载
jll29almost 4 years ago
The expressions against hype and the admonitions regarding unmaintained hobbyist projects on GitHub are okay, but personally I&#x27;m happy to learn about the tools on this list, and I&#x27;m grateful to be able to study reimplementing something we know (coreutils) in a language we ought to know better (Rust).<p>This doesn&#x27;t automatically mean we would deploy this stuff when going to Mars; so I don&#x27;t think some of the sentiments expressed here are the fault of the enthusiastic reimplementers.<p>(Looking forward to your reimplementations of coreutils in R5RS Scheme.)
throwaway77112almost 4 years ago
There&#x27;s also &#x27;Conduit&#x27;, a Matrix server written in Rust. It&#x27;s alpha currently.<p><a href="https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;projects&#x2F;server&#x2F;conduit" rel="nofollow">https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;projects&#x2F;server&#x2F;conduit</a>
faichaialmost 4 years ago
I might not be familiar enough with the original tools, nor the Rust ecosystem, so excuse me if this is misinformed. But the trend seems to be that the Rust tooling is a lot richer than their original counterparts.<p>Is this accurate? And if so, is it super easy to write rich CLIs, with tabulated, coloured, interactive TUIs in Rust? Are their some common, widely used libraries driving this trend?
评论 #27315011 未加载
评论 #27313159 未加载
评论 #27313068 未加载
pxcalmost 4 years ago
The main thing that interests me in Rust and Go rewrites of common tools (bat, ripgrep, broot, etc.) is that they use their newness as an opportunity to have nicer output and simpler CLIs or nice TUIs. It&#x27;s not really about the language for me.
the-alchemistalmost 4 years ago
Perhaps someone already mentioned it here, but GraalVM lets you interop between Java and anything LLVM, and therefore Rust, without the JVM startup cost, with breakpoints across languages, even (as I understand it). Compile time is long, though.<p>borkdude has been releasing for some very cool stuff using this stuff. Here&#x27;s a Clojure&#x2F;Rust combo:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;borkdude&#x2F;clojure-rust-graalvm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;borkdude&#x2F;clojure-rust-graalvm</a>
ulzerajalmost 4 years ago
I love the idea of having more user land tools but are those tools POSIX compliant? If not those aren&#x27;t replacements.<p>Now if that&#x27;s the case that&#x27;s also cool. I also love new ways of doing old things and we might sooner or later have something that looks like Redox on Linux&#x2F;BSD kernels.
senderistaalmost 4 years ago
Would you like to replace a C program written by djb with a Rust program written by Uncle Bob?
评论 #27318841 未加载
asicspalmost 4 years ago
Good to have a reference for such tools in one place. Added a PR for frawk [0] (awk alternative, WIP, haven&#x27;t tried it yet)<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;ezrosent&#x2F;frawk" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ezrosent&#x2F;frawk</a>
deeviantalmost 4 years ago
If were talking about libs and APIs then game on, but otherwise, I actually don&#x27;t care what <i>language</i> a tool is written in. I care how good the tool is.<p>No, I don&#x27;t think you will find a high correlation between language and tool quality.
rgmarkalmost 4 years ago
What are the chances they did clean room implementations for all of these?
评论 #27315682 未加载
senderistaalmost 4 years ago
Did anyone else parse the title as “replacements for existing software that is written in Rust”? I thought, wow, Rust is already passé, what’s the new hotness?
dividedbyzeroalmost 4 years ago
Still trying to get into both Go and Rust – is there something about Rust that makes it a better choice for such CLI utilities than Go?
NextHendrixalmost 4 years ago
If rewriting in a safe language is the main driver why not rewrite everything in Ada instead of Rust?
评论 #27322075 未加载
senderistaalmost 4 years ago
I (mostly) love Rust, but the fact is that it makes lots of easy things hard. Most software should be written in a GC language. Even Java or Go are a better choice for most “backend” development, despite the fact that from a PL design standpoint they’re vastly inferior to Rust.
评论 #27318706 未加载
deepsunalmost 4 years ago
How about Busybox?
29athrowawayalmost 4 years ago
runc is written in Go, not Rust.
评论 #27312967 未加载