Contents

[Computer science] is not really about computers -- and it's not about computers in the same sense that physics is not really about particle accelerators, and biology is not about microscopes and Petri dishes...and geometry isn't really about using surveying instruments. Now the reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to confuse the essence of what you're doing with the tools that you use."

Interviewer: Is studying computer science the best way to prepare to be a programmer? Bill Gates: No. the best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating system. You got to be willing to read other people's code, then write your own, then have other people review your code. You've got to want to be in this incredible feedback loop where you get the world-class people to tell you what you're doing wrong.

Computer science... differs from physics in that it is not actually a science. It does not study natural objects. Neither is it, as you might think, mathematics; although it does use mathematical reasoning pretty extensively. Rather, computer science is like engineering; it is all about getting something to do something, rather than just dealing with abstractions, as in the pre-Smith geology.

[Computers] are developing so rapidly that even computer scientists cannot keep up with them. It must be bewildering to most mathematicians and engineers... In spite of the diversity of the applications, the methods of attacking the difficult problems with computers show a great unity, and the name of Computer Sciences is being attached to the discipline as it emerges. It must be understood, however, that this is still a young field whose structure is still nebulous. The student will find a great many more problems than answers.

George Forsythe (1961) "Engineering students must learn both computing and mathematics". J. Eng. Educ. 52 (1961), p. 177. as cited in (Knuth, 1972) According to Donald Knuth in this quote Forsythe coined the term "computer science".

The only generally agreed upon definition of mathematics is "Mathematics is what mathematician's do." which is followed by "Mathematicians are people who do mathematics." What is true about defining mathematics is also true about many other fields: there is often no clear, sharp definition of the field.
In the face of this difficulty [of defining "computer science"] many people, including myself at times, feel that we should ignore the discussion and get on with doing it. But as George Forsythe points out so well in a recent article*, it does matter what people in Washington D.C. think computer science is. According to him, they tend to feel that it is a part of applied mathematics and therefore turn to the mathematicians for advice in the granting of funds. And it is not greatly different elsewhere; in both industry and the universities you can often still see traces of where computing first started, whether in electrical engineering, physics, mathematics, or even business. Evidently the picture which people have of a subject can significantly affect its subsequent development. Therefore, although we cannot hope to settle the question definitively, we need frequently to examine and to air our views on what our subject is and should become.

Richard Hamming, 1968 Turing Award lecture, Journal of the ACM16 (1), January 1969, p. 4. In this quote Hamming refers to George Forsythe, "What to do until the computer scientist comes", Am. Math. Monthly75 (5), May 1968, p. 454-461.

Without real experience in using the computer to get useful results the computer science major is apt to know all about the marvelous tool except how to use it. Such a person is a mere technician, skilled in manipulating the tool but with little sense of how and when to use it for its basic purposes.

Indeed, one of my major complaints about the computer field is that whereas Newton could say, "If I have seen a little farther than others, it is because I have stood on the shoulders of giants," I am forced to say, "Today we stand on each other's feet." Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way. Science is supposed to be cumulative, not almost endless duplication of the same kind of things.

Computer science is an empirical discipline. [...] Each new machine that is built is an experiment. Actually constructing the machine poses a question to nature; and we listen for the answer by observing the machine in operation and analyzing it by all analytical and measurement means available. Each new program that is built is an experiment. It poses a question to nature, and its behavior offers clues to an answer.

Computer scientists have so far worked on developing powerful programming languages that make it possible to solve the technical problems of computation. Little effort has gone toward devising the languages of interaction.

Computer science research is different from these more traditional disciplines. Philosophically it differs from the physical sciences because it seeks not to discover, explain, or exploit the natural world, but instead to study the properties of machines of human creation. In this it is analogous to mathematics, and indeed the "science" part of computer science is, for the most part mathematical in spirit. But an inevitable aspect of computer science is the creation of computer programs: objects that, though intangible, are subject to commercial exchange.

During the last years of the 1950s, the terminology in the field of computing was discussed in the Communications of the ACM, and a number of terms for the practitioners of the field of computing were suggested: turingineer, turologist, flowcharts-man, applied meta-mathematician, applied epistemologist, comptologist, hypologist, and computologist. The corresponding names of the discipline were, for instance, comptology, hypology, and computology. Later Peter Naur suggested the terms datalogy, datamatics, and datamaton for the names of the field, its practitioners, and the machine, and recently George McKee suggested the term computics. None of these terms stuck...

Also "All problems in computer science can be solved by another level of indirection". (Diomidis Spinellis. "Chapter 17. Another Level of Indirection". Beautiful Code: Leading Programmers Explain How They Think. O'Reilly Media. June 2007.) "Indirection" is often changed to "abstraction".

"What would we like our children- the general public of the future—to learn about computer science in schools? We need to do away with the myth that computer science is about computers. Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools, it is about how we use them and what we find out when we do."

Michael R. Fellows, Ian Parberry (1993) "SIGACT trying to get children excited about CS". in: Computing Research News. January 1993.

On the other hand in 1993 Matthew Dennis Haines attributed the quote to Dijkstra in: M.D. Haines (1993) Distributed runtime support for task and data management. Technical Report CS-93-110 Colorado State University, p. 4. The origin of this quote is not listed, so this remains unclear.

Dijkstra did write similar things, e.g., I don't need to waste my time with a computer just because I am a computer scientist. (EWD 1305)