Yesterday brought PyCon 2007 to a close. Well, sort of. There are sprints going on for the next few days, but the formal sessions are over. This was a great experience for me and I’m already looking forward to next year. I’ll try to put my thougts together for a “PyCon 2007 as a whole” blog post later.
The first session was a keynote by Robert M. Lefkowitz entitled “The Importance of Programming Literacy”. This talk was humorous, engaging, thought provoking, and almost bizarre at times. As a speaker, Lefkowitz is energetic and connected well with the audience. (At least, what he was saying connected well with me.) He challenged the thought of “computer literacy” being “ability to work the applications on a computer”. He also challenged the thought of “programming literacy” being “knowledge of ‘the classic texts’ of computer science such as SICP, Kernigan and Ritchie, Stevens (network programming), and Knuth”. He proposed an analogy of programming literacy to prose literacy. If prose literacy is knowledge and familiarity with classic works of prose, so programming literacy is knowledge and familiarity with classic works of programming by way of the source code. Taking the analogy further, he proposed that our works of programming could (and maybe should) work more like works of literature. Why is it broken up into multiple files? Why do we spend as much time (sometimes more) writing spoken/written language explanations of what the code does rather than let the code speak for itself? He hinted that perhaps the future of programming would include some multimedia file format for source code which would include requirement specifications, coding reasons why an algorithm is implemented a certain way, and the kitchen sink to boot. I thought this was insightful, but I don’t have a clear picture of what a programming environment would have to look like.
The next talk I attended was “You vs. The Real World: Writing Tests With Fixtures” by Kumar McMillan. He expressed the importance of testing applications in as real world of a sense as possible. The main focus of the talk was to walk through such cases using the “fixture” package.
After Kevin’s talk on widgets, I attended “The Essentials of Stackless Python” by Christian Tismer. I had attended another Stackess talk on day 1 by Andrew Dalke. Christian’s talk delved a little deeper into how things actually work and he even tied some things in to PyPy.
I attended two testing sessions next. The first was “twill, scotch, and figleaf — tools for testing” by Dr. C. Titus Brown. Titus walked through using his tools (twill, scotch, and figleaf) with TurboGears and Django. This was a really informative talk and showed how easy it is to get started testing. The next testing talk was “Pybots: Testing Python Projects in Real Time” by Grig Gheorghiu. While interesting, this talk seemed slightly less applicable to the typical user. The idea of PyBots is that it allows you to automatedly test a Python application against various versions of Python on various OS and hardware platforms.
The final session that I attended was “Weaving Togethehr Women and IT” by Anna Martelli Ravenscroft. Anna discussed the disproportional ratio of women to men in the IT industry and tried to give some insight into the reasons for this. A lot of the reason seemed to be “we don’t know for sure”. But there seemed to be good indicators that much of it is specifically cultural. She brought up a topic that seemed to pop up quite a bit in the conference: basically computer classes in elementary and middle school are mostly worthless. They focus on “tools” such as MS Word, Powerpoint, etc. Her point on this was that such basic courses are relevant if you’re interested in becoming a secretary, but not much more. I think it’s always good to think about such things as her topic which challenge thoughts you may not even know you had.