ActiveBlog

Python. Why Did it Have to be Python?
by Isabelle Groc

Isabelle Groc, March 4, 2013

It is the Year of the Snake, and here at ActiveState, the snake in question has always been Python. The Year of the Snake heralds a great year ahead for the Python community. Second blog of a series celebrating the Year of the Python.

The Python Way

Over thirty years ago, Harrison Ford as Indiana Jones spoke the famous phrase, “Snakes. Why did it have to be Snakes?” in the film Raiders of the Lost Ark. At ActiveState, we too have often reflected on our relationship with snakes, except we weren’t quite so worried about a roomful of Python(ista)s.

We quickly saw that Python, as an elegant, easy to learn, easy to read, fast-growing language with vast libraries to choose from, was becoming the programmers’ new lingua franca, and held a lot of promise.

Embracing Python was an obvious choice for ActiveState, but finding the Python way was not that easy. The Python community is vibrant, and over the years, pythonists, pythonistas, and pythoneers have elaborated a strong culture. The Python philosophy, summarized in a document called “The Zen of Python,” rejects exuberant syntax, such as the one used in Perl in favor of a simpler grammar. Aphorisms such as “Simple is better than complex,” “Explicit is better than implicit,” and “Readability counts,” capture the essence of the Python philosophy. “Pythonistas tend to be very interested in the cleanness of the language,” says Troy Topnik, ActiveState’s Technical Writer. In contrast to the Perl’s principle which states that "there is more than one way to do it," pythoneers believe there should only be one clear right way to do it.

This presents a set of challenges for anyone seeking to make a contribution, and it comes down to getting agreement on which way is “the right way.” Yet with ActivePython, ActiveState has learned to navigate the Python Way.

Supporting Enterprises: It Just Works

With the ActivePython distribution, first released in in 2000, ActiveState supports the needs of Python users and solves critical problems. “The enterprise support we provide is our biggest Python contribution,” says Jeff Hobbs, VP, Engineering at ActiveState. “We provide consistent cross-platform support, and we make sure it works.”

Given how easy it is to learn Python, it is almost surprising that enterprises need support at all. And as a matter of fact, Graham Stuart, ActiveState’s Tech Lead, QA/Support, confirms that Python is lower maintenance than any other language. “It just seems that Python users don’t hit the same problems that Perl people do,” Stuart says. Yet sooner or later, Python enterprise users hit some roadblocks, and ActivePython clears the way for them. For example, upgrading to new Python versions used to be very difficult for Windows users. “With ActivePython, it becomes simpler to upgrade, and there are fewer traps and gotchas,” Stuart says. But the major breakthrough came with PyPM.

PyPM: The Life of Python Made Easy

PyPM is ActivePython’s package manager, and simplifies the process of finding and installing modules, libraries, and extensions for Python. One of the drivers for initiating PyPM was the need to solve complicated deployment problems for Python modules such as SciPy and NumPy. Developed in 2009, PyPM offers a simple way to install modules, and saves time and deployment headaches.

It significantly improved on pip, the default method for installing Python packages, by using binary packages pre-built for the target architecture. This saves significant time and effort over compiling some modules from source.

The Year of the Python Continues at ActiveState

Over the years, ActiveState has been involved in many more initiatives related to Python. Watch for our next Year of the Python Blog to be posted soon: Dragon Meets Snake, or how Python became the foundation for the Komodo IDE.

Subscribe to ActiveState Blogs by Email

Share this post:

About the Author: RSS

Isabelle joined ActiveState as a Technical Editor after several years as a freelance journalist, editor, and photographer, and has contributed to a variety of media outlets including PC Magazine, Canadian Geographic, Discover, Canadian Wildlife, Georgia Straight, and Scientific American.

Comments

6 comments for Python. Why Did it Have to be Python?
Permalink

Python 3.3 ? It has been a long while since an AP release.

Permalink

I really wonder why every Python developer feels the need to bash Perl whenever they can. Do you see the same behavior from Perl developers?

Brilliant way of alienating customers.

Permalink

I don't see how this post is bashing Perl. I'll stand by my "Pythonistas tend to be very interested in the cleanness of the language" quote, but it's by no means a diss of Perl users.

Do I see Perl developers bashing Python whenever they can? No, not usually, but I do notice that some Perl users get defensive when comparisons are made between these two languages. Fair enough. Jan Dubois has quite rightly pointed out to me that this post "defines python as being 'not perl'". Given the wide variety of programming languages out there, perhaps it's not that useful to contrast these two relatively close cousins.

All that said, I must get Jan to post a counterpoint. He has some hilarious things to say about the Python community's philosophical fashion sense.

Permalink

I'm a Python developer. I've been writing Python code since late 2008. I love Python. More importantly, I love how the community has overcome nearly every problem thrown its way. WSGI, Pip, security issues, etc. They handle things very well.

So,

Why do you guys offer package management when the community has Pip which works wonders?

Support Pip, if you guys want to offer enterprise support for a package manager. If you do that, you'll turn the heads of a lot of Python developers, and you'll be contributing to a great project while gaining a free code base (just like you did with ActivePython). Create a fork of Pip and address the problems you need to address, namely those of SciPy and NumPy. Be part of the community. Don't create your own.

Permalink

ActivePython has pip too, and Stackato supports Python module installation via pip or PyPM.

Permalink

I agree , instead of building your own package manager, support or sponsor development of pip. This will make the world of python better!