MoL-2009-12: The Advent of Recursion \& Logic in Computer Science

MoL-2009-12: Oudheusden, Karel Van (2009) The Advent of Recursion \& Logic in Computer Science. [Report]

Text (Full Text)

Download (468kB) | Preview
[img] Text (Abstract)

Download (3kB)


The Advent of Recursion & Logic in Computer Science Karel Van Oudheusden –alias Edgar G. Daylight Abstract: The history of computer science can be viewed from a number of disciplinary perspectives, ranging from electrical engineering to linguistics. As stressed by the historian Michael Mahoney, different 'communities of computing' had their own views towards what could be accomplished with a programmable computing machine. The mathematical logicians, for instance, had established what programmable computing machines with unbounded resources could not do, while the switching theorists had showed how to analyze and synthesize circuits. "But no science accounted for what finite machines with finite, random access memories could do or how they did it. That science had to be created." -Mahoney [78, p.6]. With the advent of the programmable computing machine, new communities were created, such as the community of numerical analysts. Unlike the logicians and the electrical engineers, the numerical analysts, by their very profession, took programming seriously. Several of them gradually became more involved in seeking specific techniques to overcome the tediousness in programming their machines. One such, and important, technique was the recursive procedure. While logicians had been well-acquainted with the concept of recursion for quite some time, and the development of mathematical logic had, itself, contributed to the advent of the programmable computing machine, it is unclear whether the idea of the recursive procedure entered the arena of programming languages via the logic community. More generally, it is unclear how and to what extent, exactly, ideas from logic have influenced the computer pioneers of the 1950-60s. Both unclarities, described above, are addressed in this thesis. Concerning the first unclarity, the recursive procedure entered the arena of programming languages in several ways by different people. Special attention will be paid to the pioneer Edsger W. Dijkstra who, in 1960, received world-wide recognition for implementing recursive procedures for the ALGOL60 programming language, i.e. by building a compiler. While recursive procedures remained highly controversial during the 1960s, Dijkstra was one of its few strong advocates. His views, led by linguistic ideals, were in sharp contrast to those that were led by specific machine features. With respect to the second unclarity, it will be shown that several ideas from logic that did influence some computer pioneers, were primarily received indirectly and without full comprehension. In fact, these pioneers, in the aftermath of their successes, openly stressed that they were not logicians and had not completely understood all of the logic underlying their sources of inspiration. Similarly, the logicians, themselves, did not initially grasp the connection between Turing's 1936 paper and the programmable computing machine either. Finally, emphasis will be laid on Dijkstra's ability, in later years, to connect the unsolvability of Turing's Halting Problem with the practical engineering problems that his community faced.

Item Type: Report
Report Nr: MoL-2009-12
Series Name: Master of Logic Thesis (MoL) Series
Year: 2009
Date Deposited: 12 Oct 2016 14:38
Last Modified: 12 Oct 2016 14:38

Actions (login required)

View Item View Item