There’s a difference between ” it hasn’t changed because it doesn’t need to be changed” and ” it hasn’t changed because it’s impossible to predict the impact of any change, and no one wants to be responsible for things breaking”.
And that’s why so many core Linux utilities have worked almost exactly as they did from the very beginning. If your input and output demand no changes, the only improvements left to make are performance.
I've written semi-personal tools that other team members sometimes use that will break in 2100. The comments note this and really hope they aren't still using these by then
I get to say that I've truly made it as a programmer. The reason is that I wrote around 75 lines of Rust, came back a year later, and I could see exactly how it works.
In case you're wondering, it's a command line Slack client for sending notifications. Colored highlights and everything.