3 ms·
Very insightful. I've been thinking about this myself. One of the possibilities is "just legacy code, bad habits, and bandwagoning", but that's a bit of a cop-
by throw10920 5y ago
Very insightful. I've been thinking about this myself.
One of the possibilities is "just legacy code, bad habits, and bandwagoning", but that's a bit of a cop-out.
Another is "Unix utilities have a much better API to the filesystem and invoking other programs than most languages available today" - which is a (somewhat more-) concrete issue that we can address in other languages!
A third possibility is that the Unix tools transition very well from interactive use to batch use in a larger program - again, something that we can work on improving in other languages. Emacs seems to also do this - functions that are usable in both interactive mode (either invoking with M-x or through a keybinding) and as pieces in larger scripts/functions are pervasive. Breck Yunits calls these "user methods"[1] and I think that it's a good idea for a great pattern.
[1] https://breckyunits.com/user-methods.html https://breckyunits.com/user-methods.html