[Python-ideas] The stdlib++ user experience (Was: Introduce `start=1` argument to `math.factorial`)

Paul Moore p.f.moore at gmail.com
Fri Sep 19 17:25:41 CEST 2014


On 19 September 2014 16:15, Andrew Barnert <abarnert at 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.

I don't have any good solutions here, I just think it *should* be
possible for the author of Beautiful Soup to make it clear to
potential users that it might be what they are looking for when they
think of <insert relevant task here>. As somebody said earlier in this
thread, think of it as search engine optimisation for projects.

Paul


More information about the Python-ideas mailing list