[BangPypers] Regarding Python popularity
jeff at taupro.com
Mon Feb 8 13:05:09 CET 2010
Srinivas Reddy Thatiparthy wrote:
>>> This is subjective. I personally think it's mainly marketing (Java had
> Sun and C# had MS). This leads to secondary effects like certifications
> (which are useful for >>>non-tech hiring managers to evaluate potential
> employees), availability of 'resources' (since most engineering grads
> jump onto the now popular language in the >>>>hope of getting a job)
> Ok.My Question is..
> What was PSF's in general, Guido's in particular thoughts about
> marketing python?
> And I heard Perl's marketing was excellent.How did they manage it
> with limited funds?
As the former Python Advocacy Coordinator and a young member of the PSF
board I can speak to some of this. The key part is defining what is
meant by "popular OOP language", which usually comes down to a language
being well-known in a *particular* (i.e. your personal) community.
Python is very popular in the biotech and science fields but less so in
traditional enterprise IT.
- popular with whom?
- high installed base or rapid adoption rate?
- how popular is enough?
- what compromises are acceptable in broadening the community?
In measuring popularity, there is also a big difference between "lots of
people -are- using it" (the installed base, e.g. C/C++, Perl, Python)
versus "lots of people are -starting- to use it" (the leading edge of
the wave of adoption, e.g. Ruby, Python). Each affects the job and book
market in different ways.
There are various forces at play here, opposing one another. I'm not
taking sides - only saying they exist.
Some believe Python needs certification in order to play in the field of
general IT recruiting, to help HR pick those with knowledge. Others
think certification devalues a language, so that people play games to
get their 'ticket' rather than really learn the language and become good
at it. The community consensus is to NOT support certification in order
to maintain the quality of Python programmers even though it may keep
the quantity down by discouraging those with weak knowledge from entering.
Another force is between those who want to keep their adoption of Python
a secret, in order to be agile in the marketplace and use it as a secret
weapon, and those who want to yell it from the rooftops in order to
maximize the market for their skills. The force of secrecy has weakened
and Python is becoming better known. The force of secrecy applies to
any language, btw. C was a (pseudo) secret of Bell Labs, giving them an
Yet another force, a strong one, are those who strongly dislike
promotion and advertising, of -anything- perhaps due to their
experiences with traditional marketing types, SPAM and late night TV
commercials. They feel the basic *idea* of promotion is unethical and
has no place in open source or professional IT. They believe that an
excellent product or technology will win by being better and if it does
not, then it really wasn't that good. And that attempting to spread the
word is unfair tilting of the playing field and would only result in a
popularity contest, not a true comparison of value.
The strength of Python is the broad base of the problem domains it fits
into. Python is strong in astronomy, biology, physics (search for
SciPy). It's also strong in databases but just not very exciting there
and needs a PR story/push. In the movie industry Python is very popular
for graphic manipulation and managing media assets of huge size (lots of
activity in New Zealand's movie industry). Python is also strong and
getting stronger in the scripting of applications; Gimp, Inkscape,
Gajim, OpenOffice.org, Firefox, etc.
I suppose if I had to point to one challenge for Python it would be the
web. I can hear people yelling at me now, but Python has such a
diversity of web frameworks that rather than being a strength it causes
newcomers to be overwhelmed by choice. There are psych tests that
people asked to choose among a large set experience stress and often
pick the first or most popular choice, regardless. Unlike say Ruby, we
do not speak with one voice where the web is concerned, although we do
in other popular areas. A solution to this I think would be to pull
together a "Guide to Choosing a Web Technology for Python" website.
There are lots of theories for the many frameworks, one being that
Python is such fun to program in that everyone wants to try their hand
at creating one. Another is that Python attracts those who enjoy
creating cool intricate tools but aren't so good at communicating those
ideas to others. You can see this with many Python technical websites
compared to those for other languages. The core sites for Python
software in general are just not very compelling in their message (e.g.
look at www.zope.org for one example).
That's enough writing for now but there are others factors such as the
lack of a corporate presence like Sun and Microsoft in traditional IT
and the lack of a strong push into educational markets that those
corporate types tend to seek in order to influence IT when they graduate
and enter industry.
None of my words are an official statement of the PSF or any other
organization I associate with, but only my opinion resulting in many
discussions about this topic.
More information about the BangPypers