7 ms·
One reason I haven’t picked up any of these newfangled Rust tools like bat, exa, or fd is that I can barely remember the options for the originals. For me, any
by rednafi 2y ago
One reason I haven’t picked up any of these newfangled Rust tools like bat, exa, or fd is that I can barely remember the options for the originals.
For me, anything that isn’t a drop-in replacement for the OG tools isn’t worth the friction. I use ripgrep inside VS Code but vanilla grep on the command line because of years of muscle memory.
That said, I don’t care what language a tool is written in as long as it works. One of my favorite Unix tools is GNU Stow, and it’s written in Perl. Even if these Rust tools were drop-in replacements, I probably wouldn’t bother installing them manually. As a user, the speed improvements and memory safety don’t really matter to me.
There are other languages, like Go, where memory safety is guaranteed as well, and Go’s performance is more than adequate for tooling—with the added benefit of getting more engagement from the community. So I’m not entirely convinced by this “Rust is the savior” narrative.
That said, if macOS or Ubuntu decided to hot-swap the OG tools with Rust alternatives that behave exactly like their predecessors, I probably wouldn’t complain—as long as it doesn’t disrupt my workflow.
- johnisgood 2y ago> One of my favorite Unix tools is GNU Stow What about https://zolk3ri.name/cgit/zpkg/ https://zolk3ri.name/cgit/zpkg/? A lot of improvements have been done behind the scenes apparently (rollback, proper states, atomicity, etc.), but I am not sure when he is willing to publish. I personally use it as-is when I am compiling stuff myself and the ZPG_DST is ~/.local/. It works well for keeping track of programs that I compile and build myself.
- whompyjaw 2y agoIt absolutely does not matter what language this tool is written in. That goes for any tool. If it’s better, use it. In this case, fd is far superior to “find” in almost every way. Sane defaults, wayyy faster, easy options (just use cht.sh if you can’t remember) To me, there is no reason to ever use “find”. If I’m on a new system, I just install fd and carry on.
- syklemil 2y ago> It absolutely does not matter what language this tool is written in. That goes for any tool. Eh, there are a lot of tools where it actually does kind of matter. I suspect for a lot of invocations of tools like `fd` and `rg`, they'll be done before an equivalent written in java has even had its JVM spin fully up. There's _tons_ of Java software, but it somehow never managed to make a dent in the CLI space. > To me, there is no reason to ever use “find”. If I’m on a new system, I just install fd and carry on. I guess I should finally have a look at how to replace my `find $path -name "*.$ext" -exec nvim {} +` habit … turns out it's `fd -e $ext -X "nvim" "" $path`
- graynk 2y agoit tangentially matters, because cargo is so good that I use it instead of a package manager for all these fancy rust tools
- jhbadger 2y ago>One reason I haven’t picked up any of these newfangled Rust tools like bat, exa, or fd is that I can barely remember the options for the originals. But that's exactly the reason to use the newer tools -- they just make more sense -- especially fd over find. I've been using UNIX for over thirty years and find just never clicked with me.
- deleted 2y ago[deleted]
- scorcessse 2y ago[flagged]
- TylerE 2y agoHave you ever tried to actually learn something from a manpage?
- dmitrygr 2y agoYes. All the unix tools. I survived, too
- EMIRELADERO 2y agoAnd here I was thinking the RTFM days were over...
- lolinder 2y ago> This is how good things turn to crap: people want to be accommodated rather than have to learn something new. Funny, this sounds more like an explanation for how we get stuck with crap and aren't able to move on to better interfaces.
- TylerE 2y agoConfession; the only way I’ve ever actually used find is just a tree walker piping to grep to actually find whatever.
- BeetleB 2y agoIf you're already proficient with grep, find, etc - there's not much reason to switch. As I said elsewhere: I never managed to use find because I always had to look up command line arguments. I would always find a different way to solve my problem (e.g. Midnight Commander). I use fd all the time. A better interface makes a big difference.
- thayne 2y ago> there's not much reason to switch There are a few reasons you might still want to switch. In fd'a case: - It respects .gitignore files (as well as similar .fdignore files that aren't git specific), which can help you find what you care about without a lot of noise, or having to pass a lot of exclude rules to find - it can search in parallel, which can significantly reduce latency when searching large directories. However, there are also reasons you might want to keep using find: - fd can't do everything find can. fd is intended to replace the most common use cases with a simpler interface, but there are many less common cases that require finds greater flexibility. In fact, I still use find sometimes because of this. - find is more likely to already be installed
- theragra 2y agoBy the way, FAR manager was ported to Linux quite a long time ago, but I forgot about it. Recently I remembered and installed it. Not too hard to install (although you need to use third party repos sometimes). And then - voila - a lot of convenience for dinosaurs from Norton Commander era like myself, who cant remember cli tools syntax that well.
- mellosouls 2y agoFor anything I can't remember, I just use at the command line: ? toolname <option> Eg ? git branch which gives me common examples of git branch It aliases to tldr which is normally up to date with new tools. See also cheat.sh etc. https://tldr.sh/ https://tldr.sh/ I understand the point about muscle memory but I think that was more of a concern in the days before we had it easy with instant internet answers and now LLMs (eg GitHub copilot command line) doing our boring thinking for us.
- eulers_secret 2y agoAnother reason to at least learn the default tooling is that often I find myself SSHing to another machine which has only the barest of default packages installed (often busybox, sometimes just a stripped-down docker container). If I didn't know how to use "find" and "grep" (though I prefer rg) then I'd be at a disadvantage in these situations. Also command-line git. It's why I learned to use Vim well, though I daily Emacs.
- thesuperbigfrog 2y ago>> For me, anything that isn’t a drop-in replacement for the OG tools isn’t worth the friction. "The uutils project reimplements ubiquitous command line utilities in Rust. Our goal is to modernize the utils, while retaining full compatibility with the existing utilities. We are planning to replace all essential Linux tools." https://uutils.github.io/ https://uutils.github.io/ uutils is being adopted in Ubuntu 25.10: https://www.theregister.com/2025/03/19/ubuntu_2510_rust/ https://www.theregister.com/2025/03/19/ubuntu_2510_rust/
- rednafi 2y agoI welcome this wholeheartedly. If Ubuntu adopts that and it doesn’t need me to deal with any incompatibility, then it’s a win-win for everyone.
- consp 2y agoWith the added "benefit" of not having to use GPL. Likely the main goal.
- thayne 2y agoWhy would that matter to Ubuntu?
- d0mine 2y agoDoes it mean unless your ip is considered “friendly“, you can’t use basic computer utils? Gnu utils seem more accessible (more freedom long term).
- nrvn 2y agoIt resonates with me wrt muscle memory and ubiquity of “standard tools” that come pre-installed in majority of *nix distros including macos. But there is a big BUT! Lately I have to use grep/find huge nested dirs and found rg to be an order of magnitude faster. Had to get myself comfortable with retraining the muscle memory. Worth the effort. Some of these new shiny tools are meh for my taste. Delta for instance. Or helix the editor. But it is personal. Overall I love the competition. It seems like industry once full of innovators and tinkerers is lacking some shake up.