Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wording: replace "modern" with "human-friendly"? #77

Open
JPenuchot opened this issue Nov 24, 2021 · 4 comments
Open

Wording: replace "modern" with "human-friendly"? #77

JPenuchot opened this issue Nov 24, 2021 · 4 comments

Comments

@JPenuchot
Copy link

I really enjoy using most programs in that list, but using the words "modern" or "replacements" to describe them is inaccurate. Most of the programs in that list are indeed more pleasant to interact with, but they simply don't have the same purpose as the programs they're compared against.

For example, bat is a program designed for human interaction, but its output isn't meant to be piped into anything as opposed to cat. Similarly, exa and lsd are fine for human interaction but their outputs aren't meant to be parsed, and same goes on for most of the programs present in that list.

Hence the proposition to replace "modern" with "human-friendly", and presenting them as alternatives rather than replacements.

@slavaGanzin
Copy link

slavaGanzin commented Nov 24, 2021

Let's look into dictionary
Modern
Pertaining to a current or recent time and style; not ancient.

Modern doesn't mean "everything before us was awful".

Tools listed in this repo are in modern style:

  • colorized
  • has interactive mode
  • has sane defaults:
    trying to make sense from any input, and not garbage in, garbage out as it was modern in "good ol' days"
  • trying to do the same, but faster, prettier, readable, interoperable
  • has progress bars

All of this (except speed) is not in Unix philosophy
So yeah, it's modern Unix.

p.s. Indeed, you can pipe bat

$ bat autocomplete.py | grep a
from _global import *
def reload():
    global completions
        completions, tags_bm25 = load_object("autocomplete")

@JPenuchot
Copy link
Author

The link you cited mentions minimalism and modularity as part of the Unix philosophy. None of these are either minimalist nor modular as they just add UI characters that are painful to parse.

@JPenuchot
Copy link
Author

BTW I'm not saying the Unix philosophy should be a sacred text for software design, just saying that even though these tools do provide better user experiences for human interaction, they're not replacements simply because they don't provide the same functionality. You might have your own personal definition of "modern Unix", but even today nobody would want to use these tools in scripts simply because they would be unnecessary additional dependencies (except for jq).

Unix usage isn't limited to human interaction, and these tools are simply not a good fit for scripting.

@slavaGanzin
Copy link

Unix usage isn't limited to human interaction, and these tools are simply not a good fit for scripting.

My release/development scripts use fzf, bat and xh just from this list and fx, eat, await that has PR's open. And somehow they are good in it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants