Vancouver Python Conference 2006
The Vancouver Python / Zope User group http://www.vanpyz.org/ put on a great conference this year in Vancouver.
SFU Harbour Centre was the location for the Keynote speech on Friday night by Guido van Rossum of Google. In short, Python plans to go a lot further with its next incarnation as Python 3000, the third version of the language. Next that night was Jim Hugunin of Microsoft. Jim delivered a very entertaining talk about Microsoft’s efforts with Python, called IronPython. made for Python’s integration into .Net. Steamworks, across the street from Harbour Centre, already a great hangout for developers of all stripes, was the location for the reception. Great Reception room, great food made just for us.
The Holiday Inn Express in Burnaby at Metrotown was the location for the conference talks for the next two days. The conference offered three tracks: General, Web, and Beginners. Jim Hugunin would be back for IronPython, and other coding with Python tasks such as how to create Desktop apps for the Mac and Windows and an in-depth look at Embedding Python in other languages such as Java, C, and C++. The web track would have lots on Plone and Zope, and Ajax talks as well. I would stay with the Beginners track, since I work regularly with another language, and this Python thing just keeps blipping on my radar screen.
Python is a programming languages with really diverse purposes. But at its core, what you need to know about Python, if you know any other languages and are wondering, is that it is a language that uses lists, tuples, and dictionaries as its complex data types, and, everything being an object in Python, is be accessed with methods. Thats about all there is to it and what you have seen elsewhere you will find in Python. One of the most obvious features about Python is that for coding’s sake, curly braces are omitted in place of indentation. Now it sounds like a simple feature and some would say ‘so what?’ but its a brilliant thing. Ordinarily for code to be shared it has to be indented in order to be easily read, and there is no end to the navel gazing and flaming on this topic about the best method to commenting and indenting of code. In one simple feature, Python has eliminated this issue for developers, making a simple and light syntax that is readable by everyone who can read the language irregardless of who wrote the code.
So back to the conference: Paul Prescod took us noobs through the paces for 2 days with an in depth look at Python. Saturday covered a lot of material that I knew about Python. I also didn’t know much more about Python that what he covered. I think its ok to cover this material. I do. But I hoped for more new material in the first day. Most other people there were bound to know enough about Python to have chosen to be there, but want to know more. I mean we were not noobs to programming, just noobs to Python. The content of the first day was still important, and needs to be covered. We were all looking forward to getting more on the second day and we sure did. We saw more about Python’s abilities with its language and its extensions. Python wins big time already by a disciplined and light syntax using indentation, and a CLI that is actually useful. But the big deal is extensions. You can use Python to write to other languages, such as C, C++, Java, VisualBasic, and their respective libraries. You can use Python for both Web development, using Zope and Django, or create desktop apps for win, mac, linux and others, create rpms and other bundles. Stateless Python is used on Eve Online, a Game network, to handle 10,000 threads at once. Python gets extended in lots of ways – web, desktop, system administration, batch processing, and embedding itself in other languages. When so many programming languages have fragmented the industry, and what anyone can do, Python brings it back together. Why learn java, C, visualBasic, when you can learn Python and have it all? Yes of course there are no shortcuts, but still, for those with skills, Python offers a big leap forward in productivity.
Then the really stunning stuff was saved for last. Great lightning talks, including Andy McKay’s browser based CLI for Python. A big security hole, he tells us, but a useful tool when nothing else will do. Ian Caven’s talk rounded up the conference. Python I had learned is already a tool the visual special effects industry makes generous use of. Everyone there got a real treat I might add – first with Derek Simkowiak’s presentation of Elephant’s Dream – the first open source movie, complete with access to Blender and Python source files. That was a project I had to abandon downloading because I had only learned about it when it was Slashdotted. Ian Caven built a business of digital image processing to restore old movies (Star Wars and many others etc), with a farm of macs and some coding in C++ and Python. Its a business that is all the more impressive, not only for the amazing results, or for revolutionizing the industry, but the ability to have done so with such a small development team.
Its clear that where high powered computing using low level optimization for high performance is needed, Python is going to be a category killer. Its a technology that can slash development times and deliver results that are hard to beat. It hooks in to tons of extensions and other languages, made to output anything, talk to anything. Python as a tool for special effects may bring about an emergence of the creation of new post production companies for image processing, posing some serious competition for the big players in movies and special effects, something the whole film industry would benefit from no doubt.
I’m looking forward to learning lots more about Python. The VanPyz members put on a great conference and I hope that the community continues to grow around this great technology.