Radar van Elk Solutions

Quanta Magazine · Wetenschap

Does Computer Science Need Computers?

The question of whether computer science fundamentally requires computers is explored, drawing on historical perspectives and definitions of the field. While theoretical computer science can exist independently of physical machines, the development of deep theoretical questions is often intertwined with practical considerations of building and using computers.

Computer science, particularly its theoretical aspects, does not inherently require physical computers, much like astronomy does not require telescopes. This perspective, often attributed to computer scientist Edsger Dijkstra, distinguishes the field from mere programming or coding. However, the development of many profound theoretical questions within computer science has been historically spurred by the existence and exploration of computing machines.

The field's origins lie in the mathematical theory of computation developed in the 1930s, preceding the creation of the first general-purpose electronic computers in the 1940s. Early pioneers like Allen Newell, Alan Perlis, and Herbert Simon argued that computer science is the study of computers because computers exist as phenomena to be studied. Herbert Simon further defined it as the study of intentionally designed artificial systems. Donald Knuth offered a view emphasizing algorithms, the precise procedures computers use, suggesting computers are relevant for tackling problems beyond human capacity.

The disagreement on definitions stems from computer science's interdisciplinary roots in mathematics and engineering. William Rapaport suggests the field addresses two core questions: 'What can be computed, and how do you compute it?' Theoretical computer science, focusing on the 'what' and 'how' without needing physical hardware, uses models of computation like Alan Turing's hypothetical 'Turing machine.' This theory, initially developed to solve problems in mathematics, has proven applicable to understanding natural processes and other scientific fields.

The study of algorithms and computational complexity, a subfield of theoretical computer science, quantifies the difficulty of problems and the efficiency of algorithms at an abstract mathematical level. This exploration reveals inherent structures in mathematical problems that determine their difficulty, independent of computer speed. Developments in complexity theory have even led to new concepts in mathematical proof, extending beyond computation itself.

While fundamental theoretical questions might have been conceived earlier, their exploration and depth often emerged from practical engagement with computers. Charles Babbage, in the 19th century, speculated about a theory of algorithms for his Analytical Engine. The historical record shows that deep theoretical questions in computer science are frequently linked to practical challenges in building better machines. As Matti Tedre notes, while Dijkstra's analogy might hold, the practical tools like telescopes are crucial for scientific discovery, suggesting that computers, while not the sole subject, are vital catalysts for theoretical advancements in computer science.

The interplay between the profound and the practical is a recurring theme in scientific progress. Just as the second law of thermodynamics was conceived during the development of steam engines, practical problems can generate significant theoretical questions. This suggests that computer science, while encompassing abstract theory, is deeply influenced and advanced by the existence and use of computers.

AI-samenvatting op basis van de bron.

Quanta Magazine