Paul Nowak

Subscribe to Paul Nowak: eMailAlertsEmail Alerts
Get Paul Nowak via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Drupal Developer

Drupal: Article

Am I Seeing Python Everywhere?

Or is it just my imagination?

I've been a long-time Python fan. It's a language that's so easy to program with that I end up turning to it for a great many things and I find myself wishing for a Python interface in pretty much any application that moves or plays with data in anyway. I also give Python-based products a good hard look when comparing alternatives. We've adopted the Python-based Plone as the content management system for our Website (I know - Drupal has major momentum but Plone is a very solid product also) and it's been a very good experience for the sector we serve.

I'm writing this article because I've noticed that Python has been playing the key programming language role in three new places in the past month. See it once, no big deal. See it twice, raise some eyebrows. See it three times in widely different places? Well, that means it's time to write an article and get the buzz rolling on what the heck is going on here.

Here's where I've run into Python recently:
1.  Python seems to be the primary language for writing simple GUI wrapper front ends for traditional command-line programs in Ubuntu, the wildly popular Linux distribution. Ubuntu runs GNOME by default so...what I am really talking about is GNOME. I'm a recent adopter of Ubuntu and as I've dug through some of the programs I'm using, I am seeing Python as the basis for a lot of them. This shows just how out of the loop I am on the core GNOME technology platform, but it's nice to see something you like forming the foundation of something new that you also like.
2.  The OLPC - One Laptop Per Child project - is using Python very heavily. Python is a basis for the applications on the OLPC, and it's also a focal point of the educational aspect of the product in that if kids using the product are going to learn a programming language, Python is first among equals. Not only so kids learn the basics of programming, but also so they can begin to supply the OLPC with their own programs and applications, thanks to this Python-everywhere mentality in OLPC's approach.
3.  Python is all over the IBM/Lenovo restore CD collection for the Thinkpad series. I recently had to rebuild an IBM T43 Thinkpad from OEM disks and two of the disks seemed to have a complete Python 2.2 tree on them as I watched the dialog box fly by on the progress monitor. I've known for a long time that Python is part of the Open Office installer, but to see it here is two orders of magnitude different. IBM is using Python to install Windows! That's a bit of a twist in my view.

In each of the above cases, Python is moving away from what I consider its traditional roots as a scripting language for servers, for server-side applications, and for Web applications. That's the coolest thing about what's happening here. Python is already a cross-platform hit - running on Windows, Unix, and Mac. Now, it looks like Python is also a cross-layer language as well - running on servers in its traditional role and running on client PCs (Ubuntu and OLPC), filling multiple and very different roles there. One day I see Python as part of the Windows OEM installer kit for IBM/Lenovo Thinkpad OS rebuilds, the next as a front-end wrapper in GNOME, and the next filling a couple of roles in the OLPC client platform.

My hat is off to the Python founders and team. I'm seeing a long-time compelling language take big steps and grab mindshare with lots of people - people who are in very influential positions and have responsibilities for a diverse range of platforms. It's great to see that my favorite language from years back has grown beyond what any of us might have expected years ago when it was the lesser "P" in LAMP with the greater Ps being PERL and PHP.

My hunch about the future though is that what we are seeing today is just the beginning for Python. I think we are on the cusp of an explosion in software development, availability, and user experience. This explosion is going to be driven by wider adoption of open platforms based on open source *nix systems.

As these systems go from sub 2% of the market to plus 10% of the client PC market, the platforms will become both more used and more of a focus for development. This will drive the typical adoption curve we see in technology. Adoption coupled with development, coupled with full open access, coupled with a really great programming language will drive massive amounts of development. Think of about 20 million kids running the OLPC around the world with open access to build new software tools for the platform they use. The intellectual talent of the kids of the world is bound to unleash a waterfall of new software.

The same thing will be happening among adults. I can tell you that when I see applications written in Python all over my Ubuntu desktop, I know that I too have the ability to participate in the development of software running on my own PC. I never had this feeling in Windows. It's a big change to think about and it's also big due to platform consistency from server to desktop to...eventually the phone.

This turn of events just makes me happy. I think people should be able to build the technology they want and I also think people, working in a decentralized and networked world, will be an extremely powerful force in software - as we've seen already but to an extent I don't think we can imagine.

Software by the people for the people seems, to me, like it will meet our needs far better than the products we are seeing out of the corporate sector these days. In fact, more than ever, I would say open software will explode outward on a scale we don't currently anticipate. Open software's eventual place at the center of the software world is assured and Python is a growing part of ensuring the outcome.

Seeing Python everywhere is just a sign that these good times are starting to roll. The good old days are ahead for OSS and for Python.

More Stories By Paul Nowak

Paul Nowak first used Linux in 1995 while migrating from Sun to Linux at the University of Michigan. He used Linux in subsequent IT projects including web, telecom, telemetry and embedded projects and is currently CIO of a small professional association based in Washington D.C.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
Just Krys, from Grandma's house 05/27/07 12:32:02 PM EDT

Trackback Added: Python on the radar more and more; It seems like more and more Python is popping up everywhere. Jeff Rush , on the Python Advocacy mailing list , pointed to and article by Paul Nowak about how he is finding Python used more and more and in more varied domains. From the article:

Martijn Pieters 05/08/07 05:21:26 AM EDT

The reason you are seeing Python all over Ubuntu, is that it is a stated goal of Ubuntu itself to use Python as much as possible. Ubuntu's founder, billionaire Mark Shuttleworth, made his fortune using Python as the basis of his internet security company Thawte. He feels that Python gave him the competitive edge he needed, and this is his way of saying thank you to Python. If you install Kubuntu (the KDE equivalent of Ubuntu), you'll find just as much Python.

This is not to say that the Gnome community is not embracing Python as well; the next iteration of the Gnome website is slated to run on Plone.

Other places to look for Python:

- Maya, the professional 3D modeling and animation tool used by all the big studios, recently added Python as a scripting language (next to their own proprietary language).

- Nokia has added support for Python to their S60 platform. I have seen a demonstration of a hack-on-the-train application that grabs Bluetooth GPRS coordinates whenever making a picture with the built-in camera and connecting these pictures with a graph of distances and relative positions on the screen. This application was written by a Python enthusiast who had bought a Nokia phone for the purpose.

- Loads of commercial games use Python, including such luminaries as EVE online and Civilization IV.