skip to main content
Skip header Section
Turing's Vision: The Birth of Computer ScienceMay 2016
Publisher:
  • The MIT Press
ISBN:978-0-262-03454-8
Published:13 May 2016
Pages:
208
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

In 1936, when he was just twenty-four years old, Alan Turing wrote a remarkable paper in which he outlined the theory of computation, laying out the ideas that underlie all modern computers. This groundbreaking and powerful theory now forms the basis of computer science. In Turing's Vision, Chris Bernhardt explains the theory, Turing's most important contribution, for the general reader. Bernhardt argues that the strength of Turing's theory is its simplicity, and that, explained in a straightforward manner, it is eminently understandable by the nonspecialist. As Marvin Minsky writes, "The sheer simplicity of the theory's foundation and extraordinary short path from this foundation to its logical and surprising conclusions give the theory a mathematical beauty that alone guarantees it a permanent place in computer theory." Bernhardt begins with the foundation and systematically builds to the surprising conclusions. He also views Turing's theory in the context of mathematical history, other views of computation (including those of Alonzo Church), Turing's later work, and the birth of the modern computer. In the paper, "On Computable Numbers, with an Application to the Entscheidungsproblem," Turing thinks carefully about how humans perform computation, breaking it down into a sequence of steps, and then constructs theoretical machines capable of performing each step. Turing wanted to show that there were problems that were beyond any computer's ability to solve; in particular, he wanted to find a decision problem that he could prove was undecidable. To explain Turing's ideas, Bernhardt examines three well-known decision problems to explore the concept of undecidability; investigates theoretical computing machines, including Turing machines; explains universal machines; and proves that certain problems are undecidable, including Turing's problem concerning computable numbers.

Contributors

Recommendations

Reviews

Hector Zenil

Books about Alan Turing's life and work have always gone to one of two extremes, either to the complete technical or to the complete trivial focusing on, for example, Turing's sexual preferences, which should be completely irrelevant and a matter of his private life. Other books give too much attention to Turing's ideas on machine intelligence, and now even to some of his biological approaches to morphogenesis, mainly because they were written by people who do not fully understand the length of his seminal contribution to computer science in the writing of his two most deeply technical and influential papers [1,2]. This book, however, represents a reasonable balance between Turing's life and work. The author tries to walk the reader through the story, with enough technical details for the layman but without making it technically overwhelming. I wrote a brief blog post [3] about Turing's 1936-1937 paper laying the foundations of what is today theoretical computer science. I make my case that Turing did not only fully grasp the concept of computation universality to provide an answer to the incompleteness of arithmetic and to Hilbert's tenth problem, but also was clearly the first computer programmer. I think Turing was the first geek and hacker, encapsulating functional modules in subroutines instead of only using Turing machine states as we do today. He also saw how his machine could come to a practical realization, basically providing a blueprint of what could become a mechanical digital and electrical computer. He would also find out what a "computer bug" actually was, when he had to do all sorts of corrections in a later version [4] only to find out that the new version was full of all sorts of computer bugs and would take a lot of effort in the future to make it comprehensible if his universal machine were to ever run in an actual computer simulation. He was the first to become a human "computer compiler" and a debugger. Turing's paper is a masterpiece of how a complete field came almost all of a sudden into being, and how the computer age happened all at once in almost a single instance. This contrasts much with, for example, the approach that Alonzo Church decided to take (with its own many merits and qualities at laying the foundations of functional programming and computer programming in general), which even if equivalent as a formulation, was not far from the traditional practice of mathematics unlike Turing's idiosyncratic approach. Perhaps only Emil Post was close to the qualities that one can find in Turing's work, but Post probably fell short when it came to understanding some aspects of the breadth of the concept of computation universality. After a short introduction, Bernhardt's book takes one into the story of the Turing machine, with examples and illustrations. It is a rather updated account of things. For example, it includes alternative models of computation such as 1D cellular automata, which were introduced much later, but because of their nature are perfect visual examples of computation in action. Somehow the author failed, however, at crediting this model of computation to Wolfram, working on the ideas of von Neumann and Ulam. I think it also falls short in various other sections, such as the lack of discussion on whether actual digital computers are Turing machines or not, with the author assuming it is clear that they are. A deeper discussion would have given the reader a much better understanding of the role of unbounded memory in a model of computation, and how memory basically determines the computational power of an automaton; however, all this discussion is somehow missed (a flash of such a discussion appears in the RAM section, but it is extremely brief). This is an enjoyable book that falls short at explaining important matters in depth, which would have set it apart from so many other accounts of the life and work of Turing. However, it is a balanced account of the story of the most important concepts in the field of theoretical computer science. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.