▲ | zahlman 4 days ago | ||||||||||||||||
How is "uv format" a better name, or more "abstract", etc. etc., than "ruff check"? Why is it easier to think of my formatter and package manager (or whatever other pieces) as being conceptually the same tool, given that they are doing clearly different, independent and unrelated things? And why is any of this relevant to first-time Python learners? (It's already a lot to ask that they have to understand version control at the same time that they're learning specific language syntax along with the general concept of a programming language....) | |||||||||||||||||
▲ | asa400 4 days ago | parent | next [-] | ||||||||||||||||
It’s an abstraction because it literally hides knowledge in service of presenting a more a more cohesive API to the human. It requires less knowledge at the front end, which is when people are being bombarded with a ton of new things to learn. Learners don’t have to even know what ruff is immediately. They just know that when they add “format” to the command they already know, uv, their code is formatted. At some later date when they know Python better and have more opinions, they can look into how and why that’s accomplished, but until then they can focus on learning Python. uv isn’t a package manager only, its best thought of as a project manager, just like go or cargo. Its “one thing” is managing your Python project. | |||||||||||||||||
| |||||||||||||||||
▲ | ChadNauseam 4 days ago | parent | prev [-] | ||||||||||||||||
the meaning of the word "ruff" has nothing to do with formatting. Therefore it's harder to remember than "format". if they could just call the formatter "format", that would be best, but obviously that name is too overloaded. So they namespace it under a tool people already know, "uv". Let's imagine you're learning a new language, which has tools with names that I just made up. Which has a clearer pattern to you?
Or
Clearly, the first is easier to remember. The benefit of namespacing is that you only need to remember one weird/unique name, and then everything under that can have normal names. If you don't have namespacing, you need weird/unique names for every different tool. |