While I'm sure that says something about me, it also says something about the depth and complexity of Unix/Linux. There is a LOT there, so it's not surprising that people find less-than-optimal ways to solve their problems.
While I'm sure that says something about me, it also says something about the depth and complexity of Unix/Linux. There is a LOT there, so it's not surprising that people find less-than-optimal ways to solve their problems.
Vintage operating systems like TOPS-20 and VMS (up to a point) would go out of their way to be friendly and helpful. Conscious effort was put into this.
Unix shell commands seem to be the opposite - random feature accretion with deliberately obscure magic-spell UX.
What percentage of the population can define what "catenate" means without looking it up - never mind work out what "cat" abbreviates without being told?
How about left/right precedence and data flow? Why do some commands/operators have left precedence while others have right precedence? How about switch standardisation? Are the switches '--' or just '-' or maybe just a letter? Can you pipe subcommands to variables or not? [1]
And so on. Of course users don't immediately produce minimal solutions. Most users won't, most of the time.
[1] It depends on the shell. Mostly not reliably, because you often get different behaviour inside a terminal command and a shell script.
I don't know if it's easier for humans to remember one command with flags or two commands, but it's certainly best to recognize the principles and learn to use them, which is what the ‘grep|wc’ case demonstrates.