5 ms·
Piping text is great until you want to make something that is robust to edge cases. The various conventions for separating data, and the ways these interact and
by jwmerrill 11y ago
Piping text is great until you want to make something that is robust to edge cases. The various conventions for separating data, and the ways these interact and must be escaped, are a usability disaster. This is why tools like find end up tacking on a million flags and options instead of actually encouraging you to compose simple operations.
- wtbob 11y agoThat's why typing a simple textual representation—like S-expressions—would have been even better: so simple that handling it is easy, so powerful that nothing else is needed, but still text.
- jschwartzi 11y agoThe more powerful a tool is, the higher the learning curve. When you're designing a tool to have broad appeal, you should try to balance the usefulness of the tool for a variety of use cases against the need of the user to become productive in a relatively short time.
- wtbob 11y agoI completely agree, which is why S-expressions rather than JSON, YAML or XML make so much sense. ("Anyone can learn S-expressions.") Imagine: $ ls -l ((foo 2015-06-09 6 bar baz (rw rw r)) (file2 2012-03-04 18789 bar baz (rwx rwx rwx))) Heck, imagine a world where the shell was a full-featured, fully-typed programming language…
- dagw 11y agoHeck, imagine a world where the shell was a full-featured, fully-typed programming language… Isn't that what PowerShell is?
- username223 11y agoThe UNIX shell was designed for, and makes sense in, a friendly, collaborative environment. "This breaks for filenames with spaces." "Well then don't do that. If punching yourself in the face hurts, then stop doing it." Feeding malicious input to programs on your own computer is self-destructive, and UNIX's creators felt no need to defend against it. It's "an elegant weapon for a more civilized age." Nowadays, even trying to read a page of "hyper-text" requires doing battle with several levels of malicious software.
- GFK_of_xmaspast 11y agoIn other words, it breaks as soon as you look at it funny, and the users get blamed.
- username223 11y agoNo. Imagine, if you can, a world in which programs are things designed to help their authors/users, not adversaries to be exploited or defeated.
- oblio 11y agoSo Utopia? Also, see Neverland. We can imagine that world, but does it really help professionals in any way if they do imagine it?
- thristian 11y agoNot at all. That world existed, for the brief interval between 'only people who have access to a computer are people who devoted their careers to it' and 'everybody who can afford $50 a month has access to the Internet'. In that time, only a few people had access to computing and network resources, but they were all well-educated, reasonably well-paid and curious, with lots of motivation to help each other out and little motivation to undermine each other. It might have remained just a brief blip of history, except that so many technologies developed during that time, designed with the security assumptions of that time (i.e. practically none), became the fundamental underpinnings of our modern world, like MS-DOS and Unix.