Maybe this is why I'm a little skeptical of the whole "move everything to Rust/Zig/Go/etc" movement in the JS ecosystem. I like JavaScript, I understand JavaScript. If I have to debug some JS tool, I'm well-equipped. Whereas if I have to dip down into some weird error like "libfoo.so.42: cannot open shared object file" then I know I'm gonna get lost.
Plus I don't think we've come close to exhausting all the ways to optimize JS deps: https://marvinh.dev/blog/speeding-up-javascript-ecosystem/
@nolan personally, I prefer my tools forcing me to learn a language. That's how I learned JS to begin with. Tho, for terminal stuff, there's more variety of languages than JS, which is rather inconvenient.
And even then, going back to your first post, we still deal with OS issues such as directory conventions, permissions, and environment variables. I understand why you don't want language specific issues on top of all that 
@nolan
> Plus I don't think we've come close to exhausting *all* the ways to optimize JS deps (emphasis mine)
While that is surely true, at some point you are working to have the horse beat the supercar, and at what cost is that? When you could settle for _just_ a car and avoid the time spent beating the dead horse.
@stub Sure, I agree that optimal Rust is faster than optimal JS. And idiomatic Rust is faster than idiomatic JS.But the question is: how much faster, and at what cost? It seems to me that a lot of people are jumping from "idiomatic JS" to "optimal Rust" without really trying out "optimal JS" first.
In your analogy, I'd say to try putting some horseshoes on the horse before springing for a sportscar. 🙂
@nolan Every ecosystem having this debate apparently :) (Python with uv, ruff)
As a Python person, and as a developer who tries to get things done, I use tools that I never, ever want to debug. That includes git, shell utilities, code formatters, and more.
I want these tools to just work. If they don't, I'll assume there's a 99 % chance it's my fault. I'll open an issue, find a workaround and move on, not waste a weekend tinkering with it.
Abstraction enables productivity and tight feedback.