Arthur C Clarke said that any sufficiently advanced technology was indistinguishable from magic. So true. It’s how I feel about the car, or turning on the TV (although DVD players have obviously regressed, technology-wise, as I can no longer manage to work ours). So John MacCormick’s 9 Algorithms That Changed the Future: The Ingenious Ideas That Drive Today’s Computers looked appealing. It sets out to explain some key bits of computer magic – public key cryptography, search engine indexing and ranking, data compression and so on – and to do so in layman’s terms.
The book succeeds in this. It is very clear and taught me a lot about the principles of these and other fundamental algorithms. Having said that, it still takes quite a lot of concentration – as some of the examples crank up in realism and complication, one needs a certain amount of self-discipline not to say, ‘whatever’, and turn to the next section. I found that I couldn’t read it with an undemanding TV programme on in the background, for example.
However, this means that another thing the book achieves is to convey a real sense of both the brilliance and the amount of sheer hard work and attention to detail that has gone into our reliance on everyday computer magic. I have on my shelf an old (1999) book, Code: The Hidden Language of Computer Hardware and Software by Charles Petzold, that does the same with electronic circuits and logic gates, except that I admitted defeat partway through that one. Reading 9 algorithms does make one ask – again – why we’re restricting children to learning how to use commercial software packages in their ICT lessons in school, rather than understanding these vital ideas and principles. This book is too difficult for GCSE, I think (certainly for my 13 yr old), but could form the basis of a school text.
The next-to-last chapter is especially intriguing. It’s about what computers can’t do – the existence of undecidable problems. McCormick writes: “If you believe that the human brain could, in principle, be simulated by a computer, then the brain is subject to the same limitations as computers. In other words, there would be problems that no human brain could solve – however intelligent or well-trained that brain might be.” (p197). Or the converse, of course. But McCormick notes that the barriers in principle to a computer simulating the brain are philosophical rather than physical or chemical.