Electronic computers are intended to carry out any definite rule of thumb process which could have been done by a human operator working in a disciplined but unintelligent manner.
WARNING: This chapter is more mathematical in character than the rest of the book. It may therefore be hard going for some readers, and they are strongly advised either to skip or skim through this chapter and proceed to the next chapter. This chapter describes the theoretical basis for much of formal computer science.
Are there limits to what we can, in principle, compute? If we build a big enough computer, surely it can compute anything we want it to? Or are there some questions that computers can never answer, no matter how big and powerful a computer we build. These fundamental questions for computer science were being addressed long before computers were built!
In the early part of the twentieth century, mathematicians were struggling to come to terms with many new concepts including the theory of infinite numbers and the puzzling paradoxes of set theory. The great German mathematician David Hilbert (B.6.1) had put forward this challenge to the mathematics community: put mathematics on a consistent logical foundation. It is now diffi cult to imagine, but in the early twentieth century, mathematics was in as great a turmoil as physics was at that time. In physics, the new theories of relativity and quantum mechanics were overturning all our classical assumptions about nature. What was happening in mathematics that could be comparable to these revolutions in physics?