Every time I mess around with sysadmin stuff, I'm always flummoxed by dumb things like "what is the difference between /usr/bin and /usr/local/bin, what the heck is an LD_LIBRARY_PATH, should I use sudo for this build tool or not," etc.). I guess this is how backend devs feel when they have to tweak a Webpack config.
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.
@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.