Comment by vacuity
11 hours ago
I'd like to add that, while anything will have some learning friction, learning the Unix CLI is rather unnecessarily painful.
11 hours ago
I'd like to add that, while anything will have some learning friction, learning the Unix CLI is rather unnecessarily painful.
I’m curious: what do you see as unnecessary about the CLI? Or, to put it another way, in what way should the CLI be changed so that the only remaining difficulties are the necessary ones?
I'm not qualified to give a complete answer, but I think two main issues are the proliferation of flags in standard tools (e.g. ls has a lot of flags for sorting behavior) and the extreme preference for plain text. Text is very useful, but a lot of semantic information gets discarded. Representing structured data is painful, stdin/stdout/stderr are all in one place, window resizing makes a mess sometimes (even "write at end of line" isn't given), and so on. I'm definitely not qualified to describe just how to fix these issues, though.
I think you hit the nail on the head. Plaintext is universal in a way that nothing else really is. Outputting structured data means that consumers would have to process structured data. That definitely raises the difficulty of the programming. It’s not an easy problem, but I also do not have any good ideas.