I would be delighted if the same level of developer-friendliness were present in other pieces of our toolchain, most importantly in our version control systems. I routinely feel that while we have version control data structures suitable for the 2010s, the user interfaces on version control systems are about two decades behind where they should be.
I'll opine: git's sense of semantics seems to rival JavaScript's ("sure I'll add an int and a string"). I checkout branches but also checkout files to undo unstaged changes, but staged changes are a reset. How about "undo" as a word people would understand? Nope, doesn't do anything. Can I get a log function that shows the commit history by default? And when I check out a branch it says I'm up to date with origin/branchname but it's lying because that's just the local copy and it hasn't done a fetch. And of course in 2.0 they didn't try to clean anything up, they just changed a few defaults.
I think I deserve a medal for understanding enough git to get by. Specifically, a purple heart.
I would be delighted if the same level of developer-friendliness were present in other pieces of our toolchain, most importantly in our version control systems. I routinely feel that while we have version control data structures suitable for the 2010s, the user interfaces on version control systems are about two decades behind where they should be.