July 2009 Archives

Two runners named 'f' and 'g' look at distant dejected figure 
shackled to hulk labelled 'Object'. One says 'Him? Oh, he is a method'

In the most respected programming languages, functions -- such as the act of squaring a number, or of taking its cosine -- are what computer scientists term "first class values". They can be stored in variables, and calculated with by passing them into and out of other functions. Such languages thereby become hugely versatile.

"Object-oriented languages" such as Java, on the other hand, put functions in bondage. They name them "methods" and tie them to objects, making it impossible to use them freely. This has never seemed sensible to me -- function is, after all, only the most important concept in the whole of mathematics. It didn't seem sensible to Dobbs blogger Bill Lewis either, who posted a piece about it titled How much would you pay for a closure? ("Closures" are a trick in computing that helps a language make functions into first class values.) So I drew this cartoon in sympathy with his views.


Boss, holding report showing profit dropping through floor, yells at programmer 'You _have_ to use a spreadsheet! What else can we blame failure on?'

I've pinched my title from a New Scientist feature which reported on research into spreadsheet errors. Professor Ray Panko at the University of Hawai'i had examined ten years of spreadsheet-error studies and found every one to show a dangerously high rate of errors. He estimated that humans make around one error per hundred spreadsheet cells.

Accountants Coopers and Lybrand found errors in 90% of the spreadsheets they looked at.

And the Computer Audit Unit of HM Customs and Excise also found errors. In only 11% of spreadsheets -- but some errors ran to millions of pounds.

The fault, of course, is with the human brain, never evolved for worlds where small errors can lie unnoticed for years, then return and bite you a millionfold. We can do nothing about that. But we can make more helpful software.


Programmer looks at customer and says 'The numbers are wrong, yes. But you can view them in ten different fonts and _twenty_ styles!'

I drew this cartoon on a let's-have-coffee note to catch a friend's eye during another spreadsheet conference: It was inspired by a paper about teaching Excel to novices, by Étienne Vandeput of the University of Liège. Étienne had written that teachers will often teach students how to change fonts and widen columns before they explain how to write formulae. Even more so, before they explain which formulae to write for which kinds of problem.

For these teachers, graphical-interface stuff is more important than correct maths. In the words of the proverb:

An ounce of image is worth a pound of presentation.

I can see why the French live longer than the English. At 9pm on the Monday, I was standing near Cathédrale Notre Dame in bright sunshine, admiring the flying buttresses and the views up and down the Seine. Plenty of time to meander back to the RER station, get back to the conference accommodation just outside Paris, and buy food from a local shop before dusk fell. At 9pm on the Tuesday, having emerged into London in the centre of a titanic hour-long thunderstorm, the first time I'd ever consciously noticed that lightning is blue, I was standing under a sky-sized raincloud, shivering. It felt ten degrees cooler. Dusk was reflected in the puddles on the pavement. This is why the French have joie de vivre whereas the English have tea and custard creams. Especially superb was the joie de vivre provided in liquid form (red, rosé, and white) at our conference lunches.