Talking to marketing people about Python

Magnus Lycka lycka at carmen.se
Fri Sep 29 11:43:24 EDT 2006


Roy Smith wrote:
> I'm working on a product which for a long time has had a Perl binding for 
> our remote access API.  A while ago, I wrote a Python binding on my own, 
> chatted it up a bit internally, and recently had a (large) customer enquire 
> about getting access to it.
> 
> I asked for permission to distribute the Python binding, and after a few 
> weeks of winding its way through the corporate bureaucracy I got an email 
> from a product manager who wants to meet with me to "understand the market 
> demand for Python API before we commercialize it".
> 
> Can anybody suggest some good material I can give to him which will help 
> explain what Python is and why it's a good thing, in a way that a 
> marketing/product management person will understand?

(I don't expect you to answer the questions below to us, they might
well be business secrets, it's just things you might want to think
about.)

It's certainly reasonable to ask those questions. Every item on your
product list has a cost (even if the development is done already), in
terms of maintenance, administration, making the product portfolio less
easy to digest etc. Also, if you've read Brook's "Mythical Man Month",
you know that it's a big difference between fully working code and
shippable product. Documentation, packaging etc costs plenty.

You need a reasonable demand to pay for these costs. Whether the
bindings have their own price in your price list, or are bundled and
seem to increase the overall value and lead to more sales of the big
product is a different matter.

I guess it might be good if you can figure out what he's really after...
Is this just business are usual, or have they been burnt by something
else? Is the Perl binding seen as a profit maker, or is it just a cost?

If there is a customer who wants it, that's certainly a relevant start,
particularly if they are willing to pay for it...

It's difficult to say so much without knowing more about your market. If
you plan to sell your system to Google, it might well be a big plus!

I'm not involved in the Perl community, so maybe I'm misinformed, but it
seems to me that Perl is a language in decline. I quote the perl6 web
site: "The community brainstorming process finished August 1, 2000, 
resulting in 361 RFCs." There is no release date set yet, more than six
years later. I suspect that most of those who want a better Perl than
Perl 5, have changed to Ruby already, even if the Perl 5 development has
continued from 5.6.0 to 5.8.8.

After all, there are reasons why the Perl community wanted to change
Perl so drastically, and there are also reasons why it wasn't deemed
reasonable to change the language more gradually. Compare this with
Python, where we progressively  get new features in each version, and
the purpose of the next major rewrite is more about trimming off
annoying warts in a controlled way. Many of the Perl 6 features the
Perl community are still waiting for have been in Python for a long,
long time. Others have been smoothly incorporated into the last years
minor revisions of Python while Perl is standing still.

I suspect that most of those with a lot of Perl code, will continue to
use it, but for new development, Perl might not be a preferred solution.
Providing a Python option gives you another strength here. Python can do
what Perl does, but it scales better, it's easier to maintain, and while
it's mature and widely spread, it's very actively developed, backed by
giants such as Google, and still growing in popularity. Just look at
Python and Perl books at Amazon.com. For Perl, 4 of the 12 books in the
first page (listing by relevance) are written in 2005-2006. For Python,
it's 8 of 12. Guess where the action is!

In other words, Python has to a significant taken over the role Perl
had. Perl once succeeded because it was in the right place at the
right time, but it's failed in the long ruin because it can't handle
the complexity of real world applications when they scale. It gets too
messy. Python can. I'm certainly not the only old Perl programmer who
jumped ship as soon as I met Python and never looked back.

The only competitor to Python that I see today when it comes to
delivering functionality for general application development at a
very high productivity, is Ruby. Python is much more mature and widely
used than Ruby. As I see it, Python's multi-paradigm approach is also
more useful than Ruby's pure OO mindset.

Google is using Python a lot, and investing money in the development
of the language and main implementation. Microsoft is investing in its
.NET port IronPython, which was just released inversion 1.0. There are
other interesting projects, such as the E.U. funded PyPy project, which
might open up new doors.



More information about the Python-list mailing list