[python-advocacy] Obstacles to the adoption of Python

Laura Creighton lac at openend.se
Sat Mar 22 09:40:49 CET 2008


Remember that most people don't change languages because they don't
want to change languages -- they are happy, or happy enough, with what
they are using.  It's not the case that they 'would love to change
except for XXX', but rather 'I don't want to change.  And I am happy
that there is reason XXX I can toss at the people who are hassling me
about this, to make them go away.'

This observation is broadly true about all change, not just changing
which language you use for software development.

Thus, if you want to get people to change, the way to do it is not by
targetting the things they are listing as the reasons why they are not
changing.  You may want to go after some of these, just because they
are good things to do, but you will quickly find that some of them
cannot be changed.  There is nothing that will make PyPI 'more mature'
but time.  Instead, what you need to do is to give people a reason
to want to use Python.  If the reason is good enough, they will
suddenly not care about XXX any more.

Over in the PyPy corner, we are trying to make a Python that runs at
the speed of C.  Should we succeed, I think that we will make scads of
new converts who are now singing the 'Whitespace is significant? Bleah!!' 
song.  It's suddenly not going to seem important to them any more.

What I think Python's best strengths are its readability, and the 
closely related fact of its rapid development speed.  But these are
harder strengths to promote, first of all because the vast majority
of the world is completely oblivious of the fact that the language you
choose to develop in is a determining factor in how quickly you can
develop code.  You tell them that you developed this much faster than you
could have had you used Java, and they out-and-out don't believe you.

It would be nice to get some metrics on the lines of code to do certain
tasks.  When the Python Design Patterns book, which I hear is in the 
works, comes out I am hoping that you can use it in parallel with the
Go4 C++ book, in the same way that you can use the Smalltalk companion.

It would be nice to say 'Go4 C++ Abstract Factory Pattern -- 2,450
lines of code (or whatever it is), Python - 400 lines of code.  Python,
do more with less!' -- make up buttons for each of the Design Patterns
and then wear them.  But I am not sure what else we can to do to
educate the public at large, not of Python's strengths, but that these
strengths are real, and that the matter.  To a certain extent we are
up against, not simple ignorance, but willful, vested ignorance.  One
wonders how much effort one should make in making an outreach to such
people.

The last thing to remember, when reading blogs and the like, is that
there is a certain sort of person, extremely common in the programming
world, whose chief delight in life is despising others.  They don't
see themselves that way, but then I don't think that the racists and
anti-semites of the world recognised that they (some of them, anyway)
hate Blacks and Jews for the fun of hating them, and the fun of
hanging out with 'the superior' people, who delightfully enough _know_
that they are superior.  Instead, they think that their good feelings
about the 'superiority of their race/religion/programming language'
are all completely above the board, based on reason and science,
logically so, believed by all reasonable people, like the ones I am
surrounding myself with .... In short they have talked themselves into
that happy fog where self-criticism doesn't penetrate, and they can
have their sins and even feel proud of them.

Many people who post 'I dislike Python because of XXX' rants are of
this sort.  I wouldn't waste a lot of time with them.  Indeed, I am
more worried about the Pythonistas in our midst who have these same
bad attitudes, and who are so quick to claim their superiority because
they use Python.  My belief is that we are fortunate these days to
have fewer of these people in our midst than other programming
language groups -- but perhaps this is just wishful thinking on my
part.  After all, my friends are all such caring, reasonable, and
all round good folks and would never .... ooops. ;-)

you take care,
Laura





More information about the Advocacy mailing list