Sponsored Link •
After being offline longer-than-expected, I can finally post my blog entry on last week's Open Source Conference
Right after my keynote, Fredrik Lundh was awarded the Frank Willison Award for his many contributions to Python and the PYthon community, not just through his code (e.g. PIL, SRE, xmlrpc, Tkinter and Unicode) but also through his standard library book and his Daily Python-URL.
Tim O'Reilly's keynote pointed out a new class of "desktop applications" that run as well on Linux as on Windows: Google, Amazon, Ebay. Think about it. What these have in common is not just that they are websites that use open source and dynamic languages to access a huge database: As Tim points out, their success in a large part comes from how they track what *people* do. Google's pagerank algorithm takes into account who links to your website; Amazon and Ebay of course take direct input, but also reflect indirectly how people use them (e.g. Amazon's "other books bought together with this book" feature).
I'd like to connect that directly with Steve Holden's lightning talk in the Python track: he proposes to build a database of how Python packages are used together by individual users, with an option to upload e.g. test results. Something like this could transform the Python Package Index (PyPI), which currently is a passive list of packages, but which after augmentation with such information could be showing things like on which platforms a package builds and installs successfully, with which Python version and which other packages (and versions). (Of course a button for users to vote on a package would be good too, but we can do more than that.)
On the last morning of the conference, Steve also interviewed me, nicely avoiding the most obvious questions ("what's in Python 2.3?"). I hope he sells the interview to a fancy paper publication like the New York Times; otherwise, it may end up here on Artima.
Another cool lightning talk was by Chris Mueller of a biochemistry startup whose name currently escapes me: he demoed a user interface an analytical chemistry application; this allows chemists to review results of chemical analyses built on wxPython. The demo was remarkably responsive, recalculating graphs in real time as the zooming controls were manipulated, but the killer comment came at the end: it took two months to create, while a similar app in Java had taken a year!
And let's not forget the opening lightning talk, which I presented together with Dan Sugalski: the Great Python Parrot Challenge. Dan believes that at OSCON 2004, Parrot will be able to execute Python bytecode faster than CPython can. I don't give him a chance. Dan bets me ten bucks, a round of drinks, and a pie at ten paces.
My two favorite Python talks at OSCON this year were Adele Goldberg's and Dennis Allison's "2002: A Zope Odyssey" and Kirby Urner's "Python in Education". Kirby impressed and entertained by showing how simple it is for example to introduce polynomials and operations on them in Python (thanks to operator overloading and polymorphism) and how to make this into a highly useful and motivating math lesson by adding a touch of 3D graphics. Adele (yes, her of Smalltalk fame) and Dennis tackled the other end of education by combining Python, Zope, Flash, and some Smalltalk (of course :-) to build a system for creating and running high quality on-line instruction in topics such algebra and calculus. The whole system was programmed in 4-6 months by Adele and Dennis (and a part-time Flash programmer) without any prior knowledge of Python or Zope. Pretty impressive, especially since the resulting system caters to three different groups of users: a team consisting of master teachers and animators who create the class, the teachers who teach the class, and the students who take it.
I had hoped to take at least the morning of "Ruby in a day" taught by Dave Thomas, but thunderstorms on the east coast messed up my flight schedule and I didn't make it to bed until 3AM -- really 6AM according to my east coast body clock. But at least I downloaded the Ruby interpreter and started reading the on-line help (which is most of the Addison-Wesley Ruby book, minus a few graphs and with a few bugs due to the conversion to Windows Help). Ruby is cute, but too Perlish for my taste.
Later that night I got to ask Ruby's creator, Mats, whether Ruby was more like Python or more like Perl, while Larry Wall was standing next to us. Mats responded that it was more like Perl, adding that Larry was his hero. Yet from what I've grasped so far by skimming the tutorial, much of Ruby, especially its runtime, is much closer to Python's (with the exception of Ruby's mutable strings, which I find an abomination). This was at a dinner organized by (surprise!) Microsoft, with the purpose of bringing together the creators of dynamic open languages (and a few other key open source technologies) and the .NET developers. I got the impression though that Microsoft hadn't sent real developers but rather a set of evangelists, who were no match for the open source delegation. It was nice enough to compare the yield statements in Python and C# (they are very similar, even though C# quotes CLU as the origin rather than Python :-), but for me the high point of the evening was Miguel de Icaza's excitement over Python's feature which makes text files iterators yielding the lines of the file in succession, so that you can write
for line in open(filename): ...process line...
Miguel is on the ECMA standardization committee for C# and IL (as a guest of IBM), so if you see something like this in the next revision of C# attributed to, say, COBOL, you know where it really came from!
Miguel doesn't think I have to worry about Dan Sugalski's pie; in his opinion, Parrot is based on religion rather than facts. Maybe we can up the ante a bit?
Another cool keynote was the Eclipse presentation. It's high time that Jython finds its way into Eclipse as a scripting extension. Kevin Altis, who coined this idea, says that everyone on the Eclipse team he spoke thought it was a good idea (or at least nobody said they thought was a bad idea :-), but what's lacking is somebody to take the lead. Any volunteers?
Some other talks that I enjoyed: Anna Ravenscroft's review of a number of Python tutorials from the perspective of a professional trainer who taught herself programming in Python recently (I saw this at EuroPython); her fiancee Alex Martelli's presentation of the Template Design Pattern (horrible name, great pattern, he says); Laura Creighton's review of the PyPy project, brought with her usual enthousiasm; and Steven Knight's presentation (at a BOF, where he had to pay $250 for video projection!) of SCons, a build system written in Python (based upon his earlier attempt, Cons, which was written in Perl). I couldn't get much in to A-A-P, the competing project by vim's creator, Bram Molenaar, also implemented in Python. Apart from the name, which is meaningless except if you're Dutch, the Perlish syntax of Bram's Makefile equivalents bugs me. SCons' use of pure Python for the same purpose makes more sense IMO. An interesting twist was somebody's suggestion to add SCons (or perhaps a subset) to distutils, so that Python setup.py scripts can describe a much richer set of files, actions and dependencies.
Have an opinion? Be the first to post a comment about this weblog entry.
|Guido van Rossum is the creator of Python, one of the major programming languages on and off the web. The Python community refers to him as the BDFL (Benevolent Dictator For Life), a title straight from a Monty Python skit. He moved from the Netherlands to the USA in 1995, where he met his wife. Until July 2003 they lived in the northern Virginia suburbs of Washington, DC with their son Orlijn, who was born in 2001. They then moved to Silicon Valley where Guido now works for Google (spending 50% of his time on Python!).|