Tony Hoare’s vision, car crashes, and Alan Turing
Yesterday afternoon, at Europython 2009, David Jones addressed the subject “What sucks about Python?” Despite this provocative title, David Jones had lots of good things to say about Python, and the two topics which really roused the audience (the global interpreter lock and the over-crowded Python packaging space) had more to do with the Python-the-platform than Python-the-language. He also failed to mention the thing I miss most when working with Python: via Peter Norvig’s Python IAQ, quoting Bjarne Stroustrup:
“If I were to design a language from scratch, I would follow the Algol68 path and make every statement and declaration an expression that yields a value.”
Of course what really matters to an engineer is Python-the-platform rather than Python-the-language. Python famously comes with batteries included, and, stretching the metaphor, it also excels at integrating with the other batteries used in modern software applications. The packaging confusion is a side-effect of Python-the-platform’s success. More on over-stretched batteries later …
The day had started with Bruce Eckel’s keynote on Software Archeology. Bruce Eckel is a relaxed and engaging speaker but I found his presentation rather flimsy. Its substance could (and did!) fit on to a couple of David Jones’ slides and the remainder dwelt a little too long on Bruce Eckel, his Java and C++ books, blogs, and www.mindviewinc.com.
During the rest of the day, I had a choice of 4 or 5 different presentations at any one time, generally on the subject of Python modules or frameworks. The common theme I took away is that people turn to Python to get things done, and they’re reluctant to turn back. As the afternoon drew on everyone regathered in the Adrian Boult Hall to listen to a brilliant series of lightning talks which developed on this same theme. We also heard a wonderful short story about the best way to wreck cars and software systems.
On the subject of car crashes, it seemed a shame to stem the flow of these talks and keep Sir Tony Hoare waiting in the wings in order to pull Guido van Rossum on stage, especially since Guido wasn’t even at the conference. Nonetheless, the the benevolent dictator for life dutifully skyped in, and his face beamed up on the 12m2 screen. We could see and hear him. He couldn’t hear us. The connection fizzed and chirped until all protocol broke down. Eventually the skype laptop popped up a message warning its batteries were running low, then promptly and mercifully shut down, ending the experiment.
On walked Sir Tony Hoare, the programmer, software engineer, computer scientist and academic who now works for Microsoft research. His thoughtful keynote analysed the differences between science and engineering, and considered their interplay in the field of software development. His presentation challenged my way of thinking about software specification and program correctness, and the message on his closing slide was both shaming and inspirational:
One Day
- Software will be the most reliable component of every product which contains it
- Software engineering will be the most dependable of all engineering professions
- Because of the successful interplay of research
- into the science of programming
- and the engineering of software
— Tony Hoare, The Science of Computing and the Engineering of Software, 2009
Sir Tony Hoare is a Turing Award winner. I think he said he’d been working with computers for 50 years — it may well have been longer. Certainly he remembered when ALGOL was the hot new language, poised to supplant FORTRAN. The conference provided an opportunity to go further back, to Turing himself, and to the first ever programmable digital computer. In another memorable keynote session after lunch Simon Greenish and Dr Sue Black spoke passionately about Bletchley Park, the expansive Milton Keynes mansion which was converted into a code-breaking factory during the second World War and which is now a museum struggling to make ends meet. At the end of the presentation they unveiled a real Enigma machine to a huge round of applause.
Colossus, the world’s first ever programmable digital computer, has been painstakingly rebuilt at Bletchley Park. Although it won’t be running Python, it will resume its orginal task of cracking the Lorenz cipher.
There can be no such return for Alan Turing, who would have been 97 last week, but who tragically took his own life 55 years ago. He was a brilliant mathematician and scientist, famously eccentric, yet his papers on machine intelligence and computability remain highly accessible, forming the way we now think about computers. Over 11 thousand people worked at Bletchley Park during the war, and Alan Turing helped direct the decryption effort, a huge task which succeeded in shortening the war by two years and saving an estimated 22 million lives. In 2007 a statue of Alan Turing was erected at Bletchley Park. Dr Sue Black showed us a photo of his coffee mug which remains where he kept it, chained to a radiator.