Computer science or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems. Computer scientists invent algorithmic processes that create, describe, and transform information and formulate suitable abstractions to model complex systems.
- Quotes are arranged alphabetically by author
A - FEdit
- [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."
- Software engineering is the part of computer science which is too difficult for the computer scientist.
- Friedrich Bauer, "Software Engineering." Information Processing: Proceedings of the IFIP Congress 1971, Ljubljana, Yugoslavia, August 23-28, 1971.
- 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.
- Richard Feynman, Feynman Lectures on Computation, 1970
- [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.
G - LEdit
- 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.
- Bill Gates cited in: "Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry", Tempus, by Susan Lammers (Editor)
- The purpose of computing is insight, not numbers.
- Richard Hamming (1962) Numerical Methods for Scientists and Engineers. Preface
- 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.
- 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.
- I can’t be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It’s at that level.
- Donald Knuth (1993) Computer Literacy Bookshops Interview
M - REdit
- 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.
- Allen Newell (1975) Computer Science as Empirical Inquiry: Symbols and Search. p. 114
- 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.
- Donald Norman, The Design of Everyday Things (1988), Ch. 6
- Computer science is neither mathematics nor electrical engineering.
- Alan Perlis (1968) title of article "Computer Science is neither Mathematics nor Electrical Engineering" in: A. Finerman (Hg.), University Education in Computing Science, New York, London, pp. 69-77
- 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.
- Dennis Ritchie (1984) Reflections on Software Research.
S - ZEdit
- 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...
- Matti Tedre (2006). The Development of Computer Science: A Sociocultural Perspective. p. 260
- Any problem in computer science can be solved with another level of indirection.
- David Wheeler (Attributed in: Butler Lampson. Principles for Computer System Design. Turing Award Lecture. February 17, 1993.) Wheeler is said to have added the appendage "Except for the problem of too many layers of indirection."
- 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".
- The quote is called the fundamental theorem of software engineering by Andrew Koenig.