Python has “arrived” in the mainstream
David Ascher is the Chief Technologist and Managing Director for ActiveState, he is also a director of the Python Software Foundation.
PythonThreads >> Q. Hi David. Could you please introduce yourself?
David Ascher >> My name is David Ascher. I’m the Chief Technologist and Managing Director for ActiveState, and also serve on the board of directors of the Python Software Foundation. I’ve been working on Python since about 1995, and have co-authored two books on Python, Learning Python and the Python Cookbook. I’ve also spent a fair bit of time in the scientific computating world, in particular with Numeric Python and PyOpenGL.
PythonThreads >> You seem to have focussed your work around Python. What are the things that you feel work in favor of Python and why should someone consider using Python as compared to some of the other languages available?”
David Ascher >> First and foremost, I find that programming in Python is fun. Working with a programming language that is fun means that you end up writing better code, and that you don’t dread maintaining old code, which we all end up doing more often than we care to admit.
“Working with a programming language that is fun means that you end up writing better code…”
PythonThreads >> What other languages or systems do you feel have influenced Python’s design?
David Ascher >> The roots of Python are in the Modula-3 family of languages, but that doesn’t mean much to most people these days. Some people refer to Python as a “cleaned-up Java”, or a “readable Perl”. It draws a lot of inspiration from a variety of languages, from mainstream languages like C, C++, Java, and even C#, to more esoteric languages like Haskell, ABC, and others. Python also probably takes more inspiration from visual design and user interface concepts than most other languages, leading to its famous indentation rules.
David Ascher attending a wedding, wearing Indian dress. |
“Some people refer to Python as a “cleaned-up Java”, or a “readable Perl…”
PythonThreads >> What are the most interesting applications for Python that you’ve seen?
David Ascher >> I’m slightly biased, since I think that our own product, Komodo, an IDE written with a lot of Python, is pretty interesting. There are lots of other amazing Python systems, including the Zope & Plone content management systems, BitTorrent, and lots of high-power websites. Part of me is most interested in seeing Python used in very “low-power” programs, such as those written by students, artists, and non-professional programmers. It’s a testament to Guido van Rossum’s design skills that Python reaches so many different kinds of users.
“It’s a testament to Guido van Rossum’s design skills that Python reaches so many different kinds of users…”
PythonThreads >> What ongoing Python-related developments do you find most exciting?
David Ascher >> I’m fascinated by the port of Python to the Series 60 phones that Nokia is doing. Pretty soon there will be no technical hurdles to running Python apps on hundreds of millions of phones worldwide.That’s quite an opportunity for Python (and phone users!).
“Soon there will be no technical hurdles to running Python apps on hundreds of millions of phones…”
PythonThreads >> Python usage seems to be growing quite rapidly and there’s been interest even from organizations like Google and NASA. What do you feel has been the reason for Python usage to grow rapidly over the past few years.
David Ascher >> Python is mature enough that large companies are starting to feel comfortable using it, but young enough that it is still fed by a vibrant open source community. It represents a very pragmatic blend of workhorse features like integration with legacy systems, and cool new features that attract some of the brightest hackers out there.
“Python has cool new features that attract some of the brightest hackers out there…”
PythonThreads >> What do you think about adding interfaces in python 3.0? do you think interfaces are badly required in python.
David Ascher >> I think that interfaces are a very useful part of programming in large systems. I think that adding interfaces will make it even easier to use Python in larger systems, but I’m also quite sure that the way they get added won’t get in the way of writing quick simple hacks, which Python is still great for.
David Ascher at Oreilly conference |
“Adding interfaces will make it even easier to use Python in larger systems…”
PythonThreads >> You have been using python and writing about it since 1995. So how would you say has python evolved over the years? If python was a baby 4 years back, what is it today? Teenager/ youngster / middle aged/ old ?
David Ascher >> Maybe a young adult? It’s got a job, knows when it’s necesasry to wear a suit, but still full of energy and full of enthusiasm.
PythonThreads >> A lot has happened in the Python world since you started Python Programming in 1995. What are some of the most significant changes?
David Ascher >> When I started, we could count (probably on a few fingers) the number of people who had jobs working primarily in Python, and you had to be quiet about it in the workplace or people thought you were weird.Now, the Python job board is hopping with offers, and there’s a strong sense that it’s a language that has “arrived” in the mainstream.
“Python has “arrived” in the mainstream… “
{mospagebreak title=About Python Software Foundation}
PythonThreads >> Could you tell us more about your role in the Python Software Foundation and about what the PSF has envisaged for the future of the Python language?
David Ascher >> Sure — I’m a director of the Python Software Foundation, and have been since its inception. The PSF was created to hold the intellectual property of Python, so that no one person or company could control what we feel is a community asset. As the PSF is a public charity, we strive to protect the public’s right to use and develop Python.
“PSF strives to protect the public’s right to use and develop Python…”
However, the PSF stays out of language design issues — that’s not what corporations (even non-profits) are good at. We leave the language evolution and development process entirely in the hands of the community of Python developers, just like it’s always been. So we’re just there to watch the back of the community, and help promote the language, for example by running the yearly volunteer-run conference, PyCon. The future of Python, as always, is in the hands of people who have ideas, and are willing to work in the community to make their ideas happen.
“The future of Python is in the hands of people who have ideas…”
PythonThreads >> Except Python, what programming languages do you like or you work with?
David Ascher >> I‘ve worked with a lot of languages over the years, and I tend to like something about most of them. Like a lot of other people, I’m quite interested in Ruby, not just as a language (although it’s quite a nice language in itself), but because of the success of Ruby on Rails. I’m also impressed with some of the recent development in JavaScript, such as e4x (which makes it easy to process XML in JavaScript).
“Like a lot of other people, I’m quite interested in Ruby….”
PythonThreads >>What does ActiveState have on offer for Python developers?
David Ascher >> We have three products for Python programmers: ActivePython, is our free language distribution (also available as a supported enterprise offering called ActivePython Enterprise Edition, and licensable for ISVs), Visual Python, a plugin for Visual Studio .Net, and Komodo, our multi-language, cross-platform IDE based on Mozilla technology.
“We have three products for Python programmers…”
PythonThreads >> Q. Could you provide a comparison of Komodo with competing Python products?
David Ascher >> I’d rather not, just because I think it’s best for customers to compare the products by themselves and see which ones fit them best. Just like “Python fits your brain”, Komodo fits some people’s brains really well, and other products fit other people’s brains. The Komodo developers write in Python all day long, and I like to think that Komodo is pythonic in some subtle ways, but it’s really up to customers to figure out which tools work best for them.
“It’s really up to customers to figure out which tools work best for them….”
PythonThreads >> Q. Tell us something about this year’s O’Reilly Open Source Convention + Python.
David Ascher >> Unfortunately, between the excitement of the trade show floor, the connecting up with friends, and the parties, it’s all a blur. As ActiveState is involved in a lot of technologies, I have to split my attention across many parts of OSCON, and unfortunately I didn’t get to attend as many of the Python tracks as I’d have liked to. I do remember that I still like Portland a lot.
PythonThreads >>Python is one of the more popular open source technologies around. What has been your experience working with open source technolgy as compared to proprietry ones? Also is Python open source driven by volunteers or a few companies that offer Python products.
David Ascher >> Open source technologies provide one great asset, which is that there is no one telling you you can’t fix the bugs you need to fix. At the same time, just because you can see the code doesn’t mean you can fix the bugs easily. Luckily, we’ve had no major issues with bugs in Python — in general, open source programming languages tend to be extremely well engineered, and serious bugs are rare.
“We’ve had no major issues with bugs in Python…”
That’s not necessarily true of all open source projects, naturally. The degree of corporate involvement in Python has varied over the years, from phases when a company was driving most of the development, to phases like the present when no one company has any dominant influence on the language evolution. These days, it’s very much driven by a team of individuals, some of whom are paid to work on the language, some of whom do it on their own time.
“No one company has any dominant influence on the evolution of Python…”
{mospagebreak title=Views on Visual Python,IronPython and BOO}
PythonThreads >>Your views on ActiveState’s Visual Python and IronPython, BOO.
David Ascher >>The .Net world is interesting, as there’s clearly very strong engineering in the Common Language Runtime (the CLR, part of .Net). Unsurprisingly if you know him, Jim Hugunin’s project, IronPython, is also a very interesting development for Python and .Net both.
“There seems to be a certain reluctance on the part of Python developers to adopt .Net technologies…”
From a market point of view, though, there seems to be a certain reluctance on the part of Python developers to adopt .Net technologies, and I haven’t seen massive interest in Python from the core .Net customers.At this (early) stage, I’d say that .Net and dynamic languages (whether IronPython, Boo or others) are still “dancing around” each other, waiting to see how things evolve.
“IronPython is a very interesting development for Python and .Net…”
PythonThreads >>Thanks David. It’s been good talking to you. Could you share your blog url or email address with our readers?
David Ascher >>I have two blogs, a professional blog at blogs.activestate.com/davida, and a personal blog at ascher.ca/blog.
Related:
>> Are you interested in programming your mobile device?
>> Building Websites With Plone: 8Py Book Review
>> There is a real need of Interfaces : Guido van Rossum