The one about the update and upgrade commands in brew too. I've never used brew but I assume they operate the same as update and upgrade in apt related tools and are not really synonymous if you have a vague idea what is going on: update acts on the package catalogue and upgrade upgrades packages. Maybe update should be update-catalogue, but then people would moan about the extra typing.
Update could legitimately mean upgrade of course and you could have it essentially auto-correct, but I'm generally wary of software trying to do what it thinks I mean rather than what I explicitly say (and not doing anything if what I explicitly say doesn't match up with its language). At some point it will mis-guess and do something I really didn't want.
Thing is, "update" to me doesn't mean "update self to have newest content". Especially in the context of what Brew does: version manager for packages. By definition alone I expect it to be taking an action to update a package.
Now suppose instead of "update" they used called the functionality "sync". I don't think I would have the same problem, since linguistically and contextually, I wouldn't use Brew to _sync_ packages. But it does make sense to use "sync" when talking about getting updated information about which packages are available--we're syncing the local catalogue with the remote catalogue.
So I agree with grumpy blog that their use of "update" here is suboptimal. There are better fitting words that both better describe the functionality and avoid the confusion.
Yeah, I think the existing UI is absolutely correct for that one.
I'm not a heavy brew user, but if it works like other package managers then the "update" command is a fairly casual, frequently used, and typically reversible kind of action. If you pull in too high a version of something, oops, remove and redo. Whereas "upgrade" is something you probably only do when you have a specific reason.
I mean, it's sometimes sensible for apps to auto-correct on inputs, but a frequently used "muscle-memory" kind of action should never auto-correct into something heavy and non-reversible. I imagine that's the thinking there.
While “brew update foo” may be difficult to handle technically, it does have a meaning that makes sense: you want to fetch the latest information about just that one package so you can install it, without updating the entire package database (which may obsolete some of your other software).
It works pretty much like apt. When you do update it also shows you which packages can be upgraded. It seems pretty obvious how and why that is (maybe you dont want to upgrade everything). Seems like solid ux to me.
Update could legitimately mean upgrade of course and you could have it essentially auto-correct, but I'm generally wary of software trying to do what it thinks I mean rather than what I explicitly say (and not doing anything if what I explicitly say doesn't match up with its language). At some point it will mis-guess and do something I really didn't want.