- About Us
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 conventional languages.
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:
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 sponsors.
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.