The UNIX-HATERS Handbook
5. 3. 2020https://web.mit.edu/~simsong/www/ugh.pdf
The novice Unix user is always surprised by Unix’s choice of command names. No amount of training on DOS or the Mac prepares one for the majestic beauty of cryptic two-letter command names such as cp, rm, and ls.
The shells, after all, have built-in commands. Should built-ins be documented on their own man pages or on the man page for the shell? Traditionally, these programs have been documented on the shell page. This approach is logically consistent, since there is no while or if or set command. That these commands look like real commands is an illusion.
X was designed to run three programs: xterm, xload, and xclock.
One of the fundamental design goals of X was to separate the window manager from the window server. “Mechanism, not policy” was the mantra. That is, the X servers provided a mechanism for drawing on the screen and managing windows, but did not implement a particular policy for human-computer interaction.
Nobody really wants to run X: what they do want is a way to run several applications at the same time using large screen. If you want to run Unix, it’s either X or a dumb character-based terminal.
Shell programmers and the dinosaur cloners of Jurassic Park have much in common. They don’t have all the pieces they need, so they fill in the missing pieces with random genomic material. Despite tremendous self-confidence and ability, they can’t always control their creations.
https://danluu.com/cli-complexity/