whose use in enterprise IT operations will only grow for the foreseeable future.
Mission-critical development organizations often regard only a
handful of languages -- C#, Java, XML, SQL, and few others -- as
safe enough for serious projects. From this perspective, Python
has been traditionally lumped with "experimental" or "toy"
languages. Over and over, however, speakers at this conference
presented evidence to the contrary.
Among these, perhaps the most telling was the first: Jim
Hugunin, an engineer with Microsoft's Common Language Runtime
team. He announced a 0.7 release of a fully .NET-ized implementation of Python, along with Microsoft's vision for the
language. The idea is that, once the IronPython project is
complete, Python will serve as a high-productivity complement to C#
and the other languages customarily used for .NET development. Speakers told of experiments
and used anecdotes to explain that programmers who use Python finish jobs
in no more than half the time required by those coding in more
Microsoft appears to want to make
Python part of a package deal it offers developers: leverage
.NET infrastructure, re-use familiar libraries and debugging
aids -- but do so with a language that's easier, more maintainable,
and far quicker to program.
There are no guarantees with Microsoft, of course; in principle,
decisions in Redmond might indefinitely stall or sidetrack Python's
spread through the .NET world. However, they can't change the
strategic choices already made in favor of Python:
- Google is one of the few IT companies to compete
on scales comparable to Microsoft's, and Google
Engineering Manager Greg Stein described in the
keynote for the final day how deeply his company
embeds the language in its processes.
- Geographic information systems (GIS) heavyweight
ESRI sent its first contingent to PyCon this year.
This punctuated release of ArcGIS 9.0 to the
1 million-plus ESRI licensees with Python now
recommended as the extension language for
customization and automation.
- Nokia supports Python as a high-productivity
development language for its Series 60 handsets.
Other evidence of commercial acceptance abounded in the conference's
halls -- talks that quantified ROI for specific projects, a few venture
capitalists and hiring agents scouting prospects, and confidence
that next year's meeting would be well-attended, despite tight
travel budgets or the vagaries of support from particular
Python has its challenges. Performance compared to C is often
good enough, occasionally better, and sometimes simply inadequate.
Attendees fret about software patents and other
intellectual-property issues. While Python inventor Guido van
Rossum manages language and library definitions conservatively,
with abundant attention given interversion compatibility, the
open-source process is less formal than the standardization
cycles of Java or C++. The exuberance of the Python development
community occasionally bewilders newcomers; a few sessions
bemoaned the fact that there seem to be dozens of popular
Python-based Web and GUI frameworks, rather than a couple
that fits most needs. Integrated development environments
(IDEs) are also more numerous than polished.
On the whole, however, Python looks more and more like a "safe
choice": It's taught in classrooms, budgeted and used in large
organizations worldwide, and appears to attract successful
enthusiasts. The time looks ripe for a language that has always
emphasized its ability to "play nicely" with other
technologies on a full range of platforms.
Cameron Laird is a full-time software developer for Phaseit, Inc., and frequent writer on IT topics. Most of his publications during the last decade have been tutorial material for programmers -- on new languages, networking technologies, and security. He also ghost-writes white papers and teaches classes on scripting languages such as Perl, Python, and Tcl.