But seems like the trend of the last 10 years is to rewrite every single already existing Unix tool in Rust or node.js. Throwing out code is more fun than reading man pages I guess.
This saddens me. It looks like the average dev in 2020 believes he needs to pollute his working environment with thousands of seemingly useless tools to be productive.
fzf, silver searcher, ripgrep, etc.
I will be downvoted to hell, because these people genuinely believe they need these tools, and will find whatever performance or feature argument to explain why. But from my experience, I am much faster at any command line task than pretty much anyone using these fancy stuff, even though I stick to bash, vim, and coreutils...
Your comment reads as a no-true-scottsman "look how skilled I am" signaling device. You're not necessarily wrong, but you're also clearly fighting a pointless battle, and sound a bit out-of-touch.
Yes, the tools already exist and work. No, they do not need to be re-written, but the new versions are often substantially more usable and newcomers enjoy that. Such is the nature of life. Things change. Accept that and you'll be happier.
Your attitude might win some points with other fight-the-tide-till-my-last-dying-breath types, but it reads to me as "It is the children who are wrong!"
I worked with a guy who had the same attitude about always using kubectl over the gui because it was "faster". He was demonstrably slower at quite a few common tasks, like discovering errors in logs across many pods, than others who used the gui.
I kind of think the author should have foreseen this question and provided an answer.
I appreciate your call to be familiar with the core unix experience, but the unix userland is definitely enriched by these newfangled tools.
All of the tools you mentioned started as rewrites of existing tools and only became better over time as they added features. That process hasn’t stopped.
find . -type f -exec egrep -il "whatever" {} \;
and now I instead type: rg whatever
and, somehow, I feel like that's an improvement.And it automatically ignores the directories like .git, build, node_modules, etc., whatever is in .gitignore, without having to add a bunch of "-prune" clauses.
Given these tasks are accomplishable in many less keystrokes using `rg` and `fzf` than the built-in utilities, how would you make the argument that you're able to accomplish these command line tasks faster using only "bash, vim, and coreutils"?
Fzf gives you a list of hits that you can go through to select the one you want. Ctrl-r in bash just shows you the current hit.
Those are real advantages.