1 Introduction

Computer Science is a rather young discipline, and as usual with new disciplines, in its early stage there were important discussions about its aim, scope and methodology. Many people argued that computer science is an independent branch of science worthy of academic examination on its own. However, throughout these debates it was also claimed at different times that computer science belongs to the natural sciences, (applied) mathematics, or engineering. In many cases the arguments were based on the backgrounds or scientific interests of those who put them forward; researchers of artificial intelligence argued for the natural science interpretation, while mathematicians invested in the field of computing emphasized its mathematical aspects. Besides its methodology, the scope of computer science was called into question as well. Is it, to name a few options, the study of machines and related questions (as the name of its first and largest association, the Association of Computing Machinery, indicates), of information and data processing or of algorithms? Again, scholars were usually arguing for one or another view based on their own research interests. During these early, identity-forming years even the name of the field was called into question and generated debates.

These questions about the identity of computer science were not merely intellectual or philosophical questions–they also had practical consequences. For example, if computer science is an independent science, then it should have independent institutions within academia, such as departments at universities. Although today we take the independence of computer science for granted, it was not obvious in the beginning. Indeed, even in 1966, President of the ACM Anthony Oettinger stated, “I personally believe, and still believe that I am right, that departments of computer science have no place in the eternal scheme of things. [...] I am forced to split my mind and say that I believe that it is an intellectual mistake to have departments of computer science, while I believe there is no real tactical alternative to having them” ([16], pp. 27–28). He believed that computer science is not part of either mathematics or engineering, but that it is anchored to both. As a consequence, he was worried that separate computer science departments might become isolated within universities. Another practical question was whether there was a need for separate computer science majors at the university level: if computer science is simply viewed as a tool for natural sciences and engineering, then a couple courses should suffice for the experts of those fields, possibly even only on the graduate level. These questions dominated the discussions about computer science education throughout the 1960s.

Scholars have taken an interest in the history of computer science’s quest for its identity as an independent scientific discipline. As early as 1976, Wegner wrote about the different research paradigms in the field [22]. Many of these debates were thematized and further analyzed more recently in [3] and [6]. The most complete historical overview of these debates can be found in Tedre’s excellent book [21] from 2014. However, the literature covers almost exclusively Western sources (mainly for language reasons), even though computer science as a discipline clearly had to go through a similar process to gain independence, acceptance, and prestige outside the US and Western Europe.

The aim of this paper is to include a scholar in this discourse from the Eastern Block as well.Footnote 1 The short argument presented below comes from prominent Hungarian logician and later computer scientist László KalmárFootnote 2 from 1970–1971. He was at the vanguard of Hungarian research in computer science and automata theory as well as building computing devices. He was also indispensable in the start of computer science education in Hungary ([18, 20]). As a consequence, he was involved in many similar discussions about computer science as a discipline, and faced many challenges while fighting for its institutional independence in Hungary.

Kalmár, although coming from a mathematical background, argued for the independence of computer science from mathematics based on methodological differences. He used his argument to support certain institutional changes in the Hungarian academic world of computing. I will also situate Kalmár’s view among the positions of other prominent scholars in these debates. However, due to lack of space only those with similar views will be indicated.

Sources. While looking through the correspondence between Kalmár and Patrick SuppesFootnote 3 in the Kalmár Nachlass at the Klebelsberg Library at the University of Szeged, I accidentally found an interesting acceptance letter from Suppes. The letter, dated the 3rd of May 1971, announces that Kalmár’s contributed paper, entitled Is Computing Science an Independent Science?, is accepted for presentation at the Fourth International Congress on Logic, Methodology and Philosophy of Science.Footnote 4 It seems, however, that Kalmár never did deliver his talk. The proceedings [19] do not mention Kalmár, nor does the list of his official travels [9] mention this congress, and the list of his collected papers in [1] does not contain anything similar. Fortunately, the one-page long abstract can be found in the Nachlass under ‘Folder 311’ [10]. In addition, again by pure accident, I stumbled upon another exposition of the same argument by Kalmár. Folder ‘Lev-12’ [11] contains a 24-page long letter from April 10th, 1971 detailing his comments and recommendations about the national computer science education for Hungary’s unified computer science initiative. The letter was sent to György Aczél, the secretary for cultural affairs of the Central Committee of the Hungarian Socialist Workers’ Party, upon Aczél’s request. In this letter, Kalmár gives detailed recommendations for computer science education from elementary school through high school to university, and even postgraduate courses and trainings. The context in which the question of the independence of computer science comes up is the education and training of future academic scholars. I will use these two sources to present Kalmár’s argument that computer science is independent from mathematics and the implications he thinks this has for the organization of academic institutions.

Remark. Before turning to Kalmár’s writings, I must explain his choice of words. His abstract is entitled Is Computing Science an Independent Science?: he uses ‘computing science’ instead of the now customary ‘computer science.’ First it should be remarked that the field itself did not yet have a generally accepted, singular term for the discipline of computing (for examples see Chap. 7 of [21] and p. 324 of [13]). Furthermore, it appears to be a deliberate choice on Kalmár’s part, as the typewritten abstract I found originally used the expression “computer scientist,” which was later changed to “computing scientist” by hand. His letter [11] written in Hungarian provides some clarification about his choice of words. There (pp. 16–17), Kalmár makes a distinction between two commonly used Hungarian terms, ‘számítástechnika’ and ‘számítástudomány,’ which can be translated as ‘computing technology (or technique)’ and ‘computing science,’ respectively. Kalmár briefly indicates that he uses these different phrases such that ‘computing technology’ covers hardware-related issues, while questions concerning software design and engineering belong under ‘computing science.’ For the remaining part of this paper, I will use ‘computing science’ wherever I discuss Kalmár’s view. The reader should keep in mind that Kalmár understands it to mean what we would today call software design and engineering, and that it does not cover the entirety of computer science, broadly understood. Thus, in Kalmár’s terminology ‘computing science’ is part of computer science.Footnote 5

2 Kalmár on the Independence of Computing Science

As mentioned above, there are two sources that contain Kalmár’s argument for the independence of computing science. First, I will use his letter [11] on the unified computer science education initiative to provide the context in which Kalmár used the argument, then display his conference abstract that contains the argument in its entirety [10], and finally, explain some of his points in detail and position him among the opinions of others at the time.

Section 6 of Kalmár’s letter ([11], pp. 16–19) is devoted to the question of the “education of academic scholars” in computer science, that is, those who received scientific degrees, engaged in research and possibly stayed in academia. They also clearly were to have a serious impact on the education of the subject, as they would be the ones to teach it at the university level. The unified computer science initiative contained a directive of funding ten computer science departments in the five year period between 1971 and 1975.Footnote 6 Kalmár emphasized that, in order to provide quality education, computer science departments needed highly trained faculty conducting research in both hardware- and software-related issues. However, as Kalmár pointed out, there were only two PhDFootnote 7 holders in the field of software engineering at the time in Hungary, and “even the number of those PhDs is rather low that were defended in computing science broadly understood” (p. 17).Footnote 8 This obviously posed a problem for the founding of new departments, as the faculty of university departments had to hold a certain number of scientific degrees in order to be accredited.Footnote 9 Kalmár’s explanation of the low number of software engineering and design PhDs, and his recommended solution, were tied to his argument for the independence of computing science. To understand the context appropriately, we have to go into more detail about the process of obtaining a PhD in Hungary during this period.

Hungary, among other Eastern Block countries, adopted many features of the Soviet academic system. These changes were put into effect in Hungary in 1949, including the creation of the ‘Scientific Qualification Committee’Footnote 10 of the Hungarian Academy of Sciences. This committee was a centralized organization responsible for the selection of PhD candidates and approval of dissertation topics, as well as approval of faculty members as supervisors, etc. (these decisions were, in many cases, also not free from political considerations). Thus, in this new system, departments and universities lost their freedom and autonomy to award scientific degrees [15].Footnote 11

Although the Scientific Qualification Committee claimed to assign high priority to software-related topics, the number of applicants remained quite low. Kalmár explained the low number of software-related PhDs by the organizational structure of the committee and its approved dissertation categories. Software-related dissertation topics fit only under the Mathematical machines and programming category offered by the Mathematical subcommittee. However, according to Kalmár, the subcommittee contained only mathematicians, who understood “programming” as it was customary in operation research at the time, i.e. as linear programming, convex programming, etc.Footnote 12 As a consequence, applicants with software-related research interests were often either rejected, as their topic was “not mathematical enough,” or directed towards operation research. In addition, Kalmár noted that some members of the committee “even a couple years ago during committee meetings openly proclaimed their opinion that programmers are trained at universities but no one should apply for a PhD with such a topic, as ‘programming is not a scientific research topic’.” This attitude kept many worthy candidates from even applying.

Kalmár saw these issues as part of a “natural process” in which new branches have to fight for their acceptance and approval. Thus, that computing science faced these difficulties was not surprising–quite the opposite, it was to be expected. He even mentioned operation research itself and probability theory as recent examples of new branches that had to fight for their acceptance as legitimate branches of academic mathematical research.

However, argued Kalmár further, the case of computing science was somewhat different from the acceptance of those branches. While he acknowledged that computing science had its origins in mathematics, he also argued that its methodology was so different from mathematics that it should be considered “an independent science”, i.e. independent from mathematics. This difference in methodology explained, according to Kalmár, the rejected dissertation topics as well, since mathematicians did not understand what counts as an (intellectual) achievement in software design and engineering, and thus could not judge which topic was worthy of a PhD degree. The solution Kalmár proposed was, of course, to create a new computing science subcommittee within the Scientific Qualification Committee where the members were computing experts instead of mathematicians. In January of 1970, he submitted a request for such a subcommittee to be created.

Although today it is widely accepted without much argumentation that computing science should be considered independent from mathematics, it was not so at the time.Footnote 13 This is why, at this point in the letter, Kalmár put forward his argument for the independence of computing science based on its different methodology from mathematics. The same argument was accepted (without the aforementioned context) to the Fourth International Congress on Logic, Methodology and Philosophy of Science of 1971. As the argument provided in the Hungarian letter [11] for computing science being an independent science is very similar to the English abstract [10], I display the entire abstract below to show Kalmár’s argumentation in his own phrasing, instead of providing a summary of it. This is a formerly unpublished abstract of a presentation that was most likely never delivered. To retain its original appearance, I used a typewriter font and kept its original typesetting. However, I silently corrected typos and clear grammatical mistakes, and changed the parentheses from “/” and “/” to “(” and “)”. The two references listed in the Bibliography are not referred to in the abstract text by Kalmár. The three footnotes (14, 15 and 16) are added by me.

Is Computing Science an independent science?

Computing Science obviously has its origin in Mathematics. The question is, whether it is a branch of Mathematics or it can be considered as an independent science.

Beside its special subject-field, Computing Science diverges from Mathematics by its method. Indeed, while Mathematics is a proof-oriented science, Computing Science is more algorithm-oriented. In any case, a computing scientist puts generally as much ingenuity into his algorithms as a mathematician into the proofs of his theorems.

True enough, algorithms play some role in Mathematics as well. However, even the most sophisticated mathematical algorithms (e.g. Kronecker’s algorithm for decision of the reducibility of a polynomial in the field of rationals, say, or Galois’ algorithm, using the latter, for decision of solvability, by means of radicals, of an algebraic equation, with rational coefficients, say) are very short relative to a compiling algorithm or to an operational system.

Also, the computing scientist has to prove his propositions, e.g. the correctness of his programs. However, in most cases, the proof has a verificative character. The name “debugging” given to such verifications shows that the computing scientist does not esteem this activity, though important, so high as the mathematician his proofs. In most cases, the errors found in the course of debugging are easily corrected (at least if the programming idea is sound), while errors in mathematical proofs are in general fatal.Footnote 14

A mathematical problem, asking if some statement is true or not, is finally solved by a proof (or disproof) of the statement in question. On the contrary, if one has a computational algorithm for the solution of a given problem of Computing Science, the problem is not yet finally settled, for one is asking for a better algorithm for the same goal (from the point of view of computing time or memory place).Footnote 15 Well, a mathematician can also look for a simpler proof of some theorem. However, to find one is not as great an achievement as to find the first proof. On the other hand, the improvement of a computational algorithm is sometimes as (or more) valuable as producing the first algorithm for the same purpose.

These arguments show that Computing Science requires a way of thinking that is different from that of a traditional mathematician. Hence, Computing Science is appropriately considered an independent science rather than a branch of Mathematics.

László Kalmár

Bibliography

C.B. Jones, P. Lucas: Proving correctness of implementation techniques, IBM Laboratory Vienna, Technical Report TR 25.110, 12 august 1970.Footnote 16

C.D. Allen: The application of formal logic to programs and programming, IBM Systems Journal, 10:1, 1971.

We see that in arguing for the independence of computing science, Kalmár tried to differentiate it only from mathematics, and not from engineering. Most likely he did not address its relation to engineering for two reasons. First, and most importantly, arguments for computer science and programming being an engineering discipline (i.e. “software engineering”) became widespread only later, from the 1970s onward. Second, in Hungary technical universities offered programming majors rather late and did not dominate the field ([18, 20]).

Kalmár emphasized the differing methodologies of computing science and mathematics to set computing science aside from applied mathematics. Indeed, it was customary at the time to categorize computing science as applied mathematics. Of course, the subjects of applied mathematics differ from pure mathematics, but it is still considered to be a branch of mathematics. Thus, Kalmár had to argue that the difference between mathematics and computing science is not a mere difference in their subjects, but a difference in their methodologies.

At the beginning of the abstract, Kalmár declared computing science to be an “algorithm-oriented” science. The most famous advocate of this point of view is most likely Donald Knuth, who was originally trained as a mathematician just like Kalmár. Indeed, in his [13], Knuth wrote that his “favorite way to describe computer science is to stay that it is the study of algorithms [...] because they are really the central core of the subject, the common denominator which underlies and unifies the different branches.” (pp. 323–324) However, Knuth emphasized the mathematical aspect of algorithms and compared programming to creating mathematical proofs: “The construction of a computer program from a set of basic instructions is very similar to the construction of a mathematical proof from a set of axioms.” ([12], p. ix) He did so to stress the strong interconnectedness of programming and mathematics, not only with applied, but with pure mathematics as well. Kalmár, on the contrary, downplayed the role of algorithms in mathematics in order to separate it from computing science.

Furthermore, Kalmár distanced the notion of mathematical proof from the social practice of “proving” programs to be correct, i.e. from “debugging.” In addition to pointing out the different practices in “verification” in these fields, he also claimed that verification is not considered to be the intellectually challenging part of programming, quite in contrast to the appreciation of proofs in mathematics. This part of the argument can be considered Kalmár’s response to the so-called “verificationists.”Footnote 17 This is the view that programs (algorithms) are mathematical entities, and if all their specifications are fully formally described, their correctness could and should be verified by formal mathematical proofs instead of “debugging.” ([3, 21]) According to Tedre, “Although the formal verification movement was, from its start in the early 1960s, light years away from the reality of actual programming practice in the industry, many believed in its intellectual superiority.” ([21], p. 60) This “intellectual superiority” is inherited from the practices of formal mathematics, which is an accepted and well respected science. Clearly, Kalmár was advocating instead for the examination and acceptance of the practices being used in computing science, such as debugging.

In the last step Kalmár compared where the intellectual effort was invested in these fields. He claimed that the intellectual effort on display in computing science was on par with mathematicians’ efforts to provide proofs, but it was used to design ever more sophisticated and complex algorithms. As a consequence, connecting back his argument to the academic and institutional context, mathematicians should not be the ones assessing the intellectual merits of achievements in computing science, simply because they are not acquainted with its methodology and practice.

Fig. 1.
figure 1

(Picture is from [2]).

Kalmár during a lecture.

3 A Strong Parallel: Kalmár and Perlis

As a final thought for this paper, I would like to put Kalmár’s argument and the context in which he gave it in parallel with Alan Perlis’ Computer Science is Neither Mathematics nor Electrical Engineering [17] from 1968. Although today this similarity might not appear to be surprising, as their stance turned out to be the well accepted one, I find it quite striking just how much their views, background in mathematics and even their positions in the academic institutions lined up with each other despite being on two opposite sides of the world.Footnote 18

Perlis, at Carnegie Mellon University at the time, was instrumental in starting a program in computer science during the mid 1960s, which led to the funding of a separate computer science department which he was the first head of [5]. Similarly, Kalmár started the first university-level training in computer science and programming in Hungary at the University of Szeged in 1957 and was the head of a separate computer science department from 1967 [20].Footnote 19 Just as Kalmár expressed frustration over mathematicians assessing computing scientists in the Scientific Qualification Committee, Perlis began his paper by describing how, in the US, the allocation of federal funding for computer science research is decided by various mathematics and applied mathematics committees. Perlis believed this was because “Computer Science is, unfortunately a bit too large to be ignored, and yet too new to be properly treated. As a result, computer science is in danger of being mishandled and misinterpreted” (p. 69).

Similarly to Kalmár, Perlis downplayed the importance of algorithms in mathematics: “Before the advent of the computer, algorithms were encountered, but they were rare, simple, and always consigned to the support and background of other investigations.” (p. 70) Then he pointed out features in the practice of computer science that are not shared with mathematics: “Still, there are aspects of computer science’s preoccupation with algorithms which are less directly related to mathematics. This is true, for example, of computer programming. The algorithms of computer programming are enormously complex and more specialized than it is the custom of mathematics to treat.” (p. 71) Finally, he claimed that since computer science is “preoccupied with design and process” while “mathematics is oriented to abstract analysis” (p. 71), they have different methodological approaches, and thus computer science should be institutionally independent from mathematics.Footnote 20

Thus, Kalmár and Perlis described the methodological differences between computer science and mathematics slight differently. Perlis named the “abstractness” of mathematics and the “design” focus of computer science as distinguishing features, and Kalmár pointed to the different approaches of their verification processes. Nevertheless, their academic pasts and positions, the context in which they argued for an independent computer (or computing) science, and their arguments themselves are astonishingly similar.