[python-advocacy] How programming language webpages should be designed

Paul Boddie paul at boddie.org.uk
Mon Nov 9 22:35:28 CET 2009

On Monday 09 November 2009 14:32:28 Jason Baker wrote:
> Here's the way I see things:  the only way to remove confusion about
> whether to go with Python 2 or 3 is going to be to remove one of those
> choices.  Until that time, we're going to have to live with that.  So
> do we want to dodge the issue, or do we want to hit it head on?  I say
> we hit it head on.

I agree!

> So here's what I propose:
>  1. We have an example on the front page that works in both Python 2
> and Python 3.  This is a tall order, but we are talking about the
> front page of python.org here.  I think we should choose an algorithm
> that everyone knows and is largely independent of the language it is
> implemented in.  For example, what about the Fibonacci sequence?  Sure
> it's cliched, but it meets these requirements.

You can probably pull that from the "simple programs" page, and it might even 
work in Python 3 if you add the mandatory pair of brackets.

I'm no big fan of Python 3 and won't be switching to it in the foreseeable 
future, but despite possible differences between the dialects, this exercise 
actually gives people the opportunity to spin their favourite story: that the 
differences really aren't that much. Although people probably don't approve 
of separate versions of such examples - it's admitting that Pythons 2 and 3 
are not totally compatible, and the tendency is to downplay or hide this 
fact - by showing the superficially minor changes, it allows everyone to 
address concerns or criticisms about Python 3 being a big upheaval (which 
many people will be aware of by now).

>  2. We have a link on the front page to more examples both somewhere
> in the sidebar and as a link below the main example.  Again, I propose
> that these examples should be minimal (no more than around 10 lines of
> code).  This page should have three sections:  a Python 2 section, a
> Python 3 section, and a "should I choose Python 2 or 3?" section (or
> at least a link to the page answering this question).

Yes, I don't see what's wrong with being honest about the choice of Python 2 
versus Python 3. There is, after all, still a choice.

> 3. I also like Laura's idea to have links to solutions to other
> well-known problems.  For instance, we could have a link to a
> quicksort example, binary search, towers of hanoi, etc.  We could put
> this in an "advanced examples" section.  I think that we should shoot
> for having a Python 2 version and a Python 3 version of each example.
> However, being that these examples are more complex, we may just have
> to take what we can get.

To an extent, the simple programs page comes to the rescue again, here. I 
disagree with Aahz about real-estate on the front page: showing the very 
thing the site is about is far more important than having testimonials, for 
example (important though they are), occupying large areas of the page.

I was going to use Ferrari's Web site as an example of showing off the goods, 
and their "launchpad" site does have a big picture of a car on it, but their 
international site makes the mistake of using Flash, meaning that there's a 
big blank space when I look at it. Nevertheless, even if I did have Flash, I 
would be disappointed if it just had some prose about "who drives Ferrari 

> Any thoughts on this plan of action?

I encourage you further on this plan. Personally, my eyes tend to glaze over 
at the forest of hierarchical sidebar menus on python.org, so anything which 
focuses the content is a good thing.


More information about the Advocacy mailing list