On Fri, Sep 19, 2014 at 5:25 PM, Paul Moore <p.f.moore@gmail.com> wrote:
On 19 September 2014 16:15, Andrew Barnert <abarnert@yahoo.com> wrote:
> There's more to it. Many of the most important packages are doing something that didn't have a category until they invented it. For example, what is BeautifulSoup exactly? Originally, IIRC, it was intended to be a more lenient HTML parser. But nowadays it doesn't even do the parsing itself; it drives a stdlib or other third-party parser. It's sort-of a better (than what?) DOM interface for HTML and XML, which is something no one realized they needed until it existed. If the Python community had the kind of less-fanciful, easier-to-find, specific names that, say, perl has, what would it be called? HTML::Parsers::TagSoupParser?
>
> Also, the boring names tend to mean that, when there _is_ an obvious category, the first entrant stakes out the best name, and everyone else ends up with just less-felicitous variants of the same name. The fact that SleekXMPP and Wokkel replaced Jabberpy as the most popular XMPP libraries means that it's pretty easy for me to recommend SleekXMPP over Jabberpy. In another language, you have to tell people to use libXMPPClient or XMPPLib instead of libXMPP.

I wasn't trying to say that "boring" names were better - far from it,
quirky names are part of the Python culture. But there isn't anything
stopping Beautiful Soup adding keywords like "html parser scraping" or
something like that. The trick is picking keywords that people will
search for, which is often hard (and that's probably why the keyword
metadata is underused). Having a registry of commonly-used keywords,
and a user interface that means you don't have to go online and search
when you're writing your app, might help. Think of something like
Stack Overflow's auto-completed tags.


Or some sort of keyword aliases, so that if someone searches for one word in the list of aliases, any project with any keyword in the corresponding list of alias is also matched.