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

winget find should be a synonym of winget search #1299

Closed
Jaifroid opened this issue Jul 19, 2021 · 3 comments · Fixed by #2390
Closed

winget find should be a synonym of winget search #1299

Jaifroid opened this issue Jul 19, 2021 · 3 comments · Fixed by #2390
Labels
Issue-Feature This is a feature request for the Windows Package Manager client. Resolution-Fix-Committed
Milestone

Comments

@Jaifroid
Copy link

Jaifroid commented Jul 19, 2021

Description of the new feature/enhancement

The more intuitive (and grammatically correct) command for finding packages should be winget find rather than winget search. Therefore, I suggest that winget find should be a synonym. Alternatively, winget find should do what winget search currently does, and winget search could be a more in-depth listing that also shows the versions of every package found.

To explain what I mean by winget search xxxx being grammatically incorrect: As an intransitive verb, in English, you must "search for" something if you mean "find something". Used transitively ("search something"), it has a different meaning, like "Search that man!" (it doesn't mean "find that man", it means "go through his pockets/clothes and see what he's carrying"). Consider the difference between "you must search this house" and "you must find this house". This is what I mean when I say that the more intuitive verb for finding an app should be winget find xxxx.

Proposed technical implementation details (optional)

  • I suggest winget find should do what winget search currently does. This could be a simple synonym, so both commands do the same thing.
  • Alternatively, winget search could be more in-depth (closer to the meaning of "search"), something like a combination of current winget search and winget show xxxx --versions.
@Jaifroid Jaifroid added the Issue-Feature This is a feature request for the Windows Package Manager client. label Jul 19, 2021
@msftbot msftbot bot added the Needs-Triage label Jul 19, 2021
@rdeforest
Copy link

rdeforest commented Sep 30, 2021

Speaking as an outsider coming from the Unix world (although I did start on DOS 2.0):

A CLI is not a natural language conversation

Being familiar before you use it should not be a design goal. It may be a natural outcome.

You learn something once, then you use it for the rest of your life. Don't optimize for the smallest portion of people's experience of a tool. This is why Unix command-lines are so terse. They are optimized for use by humans who spent a few minutes learning it and have now been using it for over 40 years. The addition of verbose interfaces to Unix command line programs (--long as an alias for -l) was motivated by the need to make shell scripts more self-documenting, NOT to make the commands easier for humans to use.

Being grammatically correct should not be a design goal of any human-computer interface. According to Wikipedia, there is no language spoken natively by more than 12% of the world's population. English grammar is not internationally universal. English is only the third largest language by number of native speakers as of 2019. When we prefer English rules we impose on the 95% of the world who didn't grow up speaking English. Even if we used Mandarin Chinese grammar rules we would be excluding 88% of the world.

About search vs find specifically

The reason winget, apt, yum, npm, pip, gem, brew (aka Homebrew), choco (aka Chocolatey) and probably every other major package manager out their uses search instead of find is because the action being taken is not to find a single item but rather to search through all known items looking for those which match the pattern included in the search command.

In fact, I would expect a find action to report the path it traversed to locate the item in question. I would not expect it to tell me what it found, because if I didn't know what I was looking for I would invoke either a search, info, describe or command. Here's my fantasy interaction with a Hypothetical Package Manager (hpm) I just made up:

$ hpm search package manager
apt     A Package Tool for Debian-based Linux systems
yum     Yellowdog Update Manager for RedHat-based Linux Systems
npm     NodeJS Package Manager
pip     Python Installer of Packages
gem     Ruby package manager
winget  Windows Package Manager
$ hpm find apt
Found in repo 'Debian' configured in /etc/hpm/repos.d/debian.conf
$ hpm find package manager
No package found matching the name 'package manager'.

Did you mean to use 'hpm search'?
$ 

In conclusion

Stop trying to make software more intuitive. YANGTNI

@Jaifroid
Copy link
Author

Jaifroid commented Oct 1, 2021

A CLI is not a natural language conversation

Which is precisely why Linux is considered strict Geek territory for most normal humans... Just because certain decisions were taken around 1969, doesn't mean we should always do it the same way, and that machine-user interfaces shouldn't be made more intuitive for humans.

Please remember this is a tool for Windows, not a tool for Linux. In the good old Windows Command Prompt, as well as in PowerShell, the verb that the system recognizes is "find" not "search". (The other "native" verb in PowerShell for finding something you already know exists is select, as in Select-Object.)

image

@Trenly Trenly mentioned this issue Jul 28, 2022
2 tasks
@denelon denelon modified the milestones: Backlog-Client, v1.4-Client Jul 29, 2022
@msftbot msftbot bot added the In-PR This issue has a related PR label Jul 29, 2022
@Trenly
Copy link
Contributor

Trenly commented Jul 29, 2022

If anyone has any strong opinions on aliases, i.e, if any others should be added, please post a comment on the linked PR

@msftbot msftbot bot added Resolution-Fix-Committed and removed In-PR This issue has a related PR labels Aug 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature This is a feature request for the Windows Package Manager client. Resolution-Fix-Committed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants