A magazine about programmers, code, and society. Written by humans since 2018.

John MacCormick

As a member of Generation X, this author has had the distinctive privilege of trying to explain computer topics to family members born in the early 1900s. In particular, my grandmother would, around 1999, ask what I did for a living. As a Polish immigrant who arrived in Argentina months before World War II, she could not have been further away from the likes of the World Wide Web, the Netscape browser, or the VBScript programming language. I tried as hard as I could, but of course, I failed miserably. For most of her life, she must have thought, just like my mother, that I was into some dodgy business.

Explaining computer concepts to people outside the field is easier now than it used to be, but many aspects remain obscure to the public. The computer, arguably the most significant invention of the 20th century, is not a single object but rather an utterly novel field of knowledge and work, the result of a mere century of work in mathematical analysis and electronics. There are things you can see and touch (the “hard” ware) and those things you just cannot, the “soft” ware. While the former quite straightforwardly stems from science fiction serials, the latter belongs to an occult realm. The “ghost in the shell” that animates every little thing that defines our modern world is ridden with mystery.

Very few scientists have dared to explain the inner workings of these new machines to the “non-initiated” crowd. Among those who tried, few have had the success that John MacCormick had while writing his 2011 masterpiece, “Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today’s Computers.” MacCormick knows a thing or two about the subject: he is a professor of computer science at Dickinson College in Carlisle, Pennsylvania, specializing in computability.

The book’s first two chapters are entirely dedicated to web search engines, granting its faithful inclusion in this edition of the Library section. How does a search engine, say, Google or AltaVista, return meaningful results? And most importantly, how is it possible to do that so quickly? After a first chapter dealing with simple approaches to the problem, conveniently sprinkled with diagrams and simple examples, the second chapter tackles the core of Google’s search engine: the PageRank algorithm designed by Larry Page and Sergey Brin that kickstarted a revolution 25 years ago.

Later chapters deal with public key cryptography, Hamming codes, neural networks, and databases. The last chapter, “What is Computable?” describes the concepts behind Alan Turing’s work. In all of these cases, the examples are simple, profusely illustrated with diagrams and simple analogies, and written with a language easily understood by anyone with at least a high-school level of knowledge.

Complement this volume with his 2018 introduction to the theory of computation, “What Can Be Computed? A Practical Guide to the Theory of Computation.” However, be aware this volume targets undergraduate students and not the general public per se.

“Nine Algorithms That Changed the Future,” updated in 2020, is a joy to read, if not for programming experts, but at least for their family members. If my grandmother were still alive, I would probably try again to explain what I do, this time taking a few cues from Professor MacCormick’s playbook. Well, maybe.

Cover photo by the author.

Continue reading Issue 053: Gaming or go back to Issue 054: Google. Did you like this article? Consider subscribing to our newsletter or contributing to the sustainability of this magazine. Thanks!
Back to top