Python. Why Did it Have to be Python?

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.