# Computer science

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

    Quotes are arranged alphabetically by author

### A - F

* [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."
** Hal Abelson (1986) Introduction of video of lectures on the Structure and Interpretation of Computer Programs (source).
* 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.
* Starting when computer technology first emerged during World War II and continuing into the 1960s, women made up most of the computing workforce. By 1970, however, women only accounted for 13.6% of bachelor's in computer science graduates. In 1984 that number rose to 37%, but it has since declined to 18% -- around the same time personal computers started showing up in homes. According to NPR, personal computers were marketed almost exclusively to men and families were more likely to buy computers for boys than girls.
** Computerscience.org, “The Current State of Women in Computer Science”.
* The percentage of women working in computer science-related professions has declined since the 1990s, dropping from 35% to 26% between 1990 and 2013. According to the American Association of University Women, we can reverse this trend by removing negative connotations around women in computer science. Educators and parents must work together to help girls maintain their confidence and curiosity in STEM subjects. Professional women already in the field can become mentors, while men can help create a more inclusive workplace.
** Computerscience.org, “The Current State of Women in Computer Science”.
* 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.
** 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".

### G - L

* 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.
** Richard Hamming, 1968 Turing Award lecture, Journal of the ACM 16 (1), January 1969, p. 4. In this quote Hamming refers to George Forsythe, "What to do until the computer scientist comes", Am. Math. Monthly 75 (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.
** Richard Hamming, 1968 Turing Award lecture, Journal of the ACM 16 (1), January 1969, p. 6
* 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.
** Richard Hamming, 1968 Turing Award lecture, Journal of the ACM 16 (1), January 1969, p. 7
* 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
* My own feeling is this: mathematics and computer science are the two unnatural sciences, the things that are man-made. We get to set up the rules so it doesn't matter the way the universe works – we create our own universe... And I feel strongly that they are different, but I tried to convince Bill Thurston and he disagreed with me. My opinion though is I can feel rather strongly when I am wearing my mathematician's cloak versus when I am wearing my computer scientist's cap.
** Donald Knuth (May 29, 2011). "All Questions Answered" by Donald Knuth. GoogleTechTalks. YouTube.

### M - R

* 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 - Z

* 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
* If biology limited women’s ability to code, then the ratio of women to men in programming ought to be similar in other countries. It isn’t. In India, roughly 40 percent of the students studying computer science and related fields are women. This is despite even greater barriers to becoming a female coder there; India has such rigid gender roles that female college students often have an 8 p.m. curfew, meaning they can’t work late in the computer lab, as the social scientist Roli Varma learned when she studied them in 2015. The Indian women had one big cultural advantage over their American peers, though: They were far more likely to be encouraged by their parents to go into the field, Varma says. What’s more, the women regarded coding as a safer job because it kept them indoors, lessening their exposure to street-level sexual harassment. It was, in other words, considered normal in India that women would code. The picture has been similar in Malaysia, where in 2001 — precisely when the share of American women in computer science had slid into a trough — women represented 52 percent of the undergraduate computer-science majors and 39 percent of the Ph.D. candidates at the University of Malaya in Kuala Lumpur.
** Clive Thompson, “The Secret History of Women in Coding”, The New York Times, (Feb. 13, 2019)
* 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.

## Disputed

* Computer science is no more about computers than astronomy is about telescopes.
** Often attributed to Edsger Dijkstra (e.g. Haines 1993, Cohen & Haberman 2007, Denning 2010), but this might be folklore. This quote was published early 1990, in full:
*** Computer science is not about machines, in the same way that astronomy is not about telescopes. There is an essential unity of mathematics and computer science
**** Michael R. Fellows (1991) "Computer SCIENCE and Mathematics in the Elementary Schools", see also (comments by Ian Parberry. Parberry explains that Mike Fellows and Dijkstra had met in 1991 or 1992 at the University of Victoria and that "According to Mike, the quote in question was a rallying cry in that period."
*** "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 express similar things, e.g., I don't need to waste my time with a computer just because I am a computer scientist. (EWD 1305) or ... the topic became ... prematurely known as 'computer science' – which, actually, is like referring to surgery as 'knife science' (EWD 924)

## See also

* Algorithms
* Artificial intelligence
* Computers
* Programming
* Programming languages

## External links

* Bumper-Sticker Computer Science by John Bentley in: Communications of the ACM, Vol 28 (1985). Nr.9. pp. 896-901
* ↑ Charles Babbage Institute: Who Was Charles Babbage?. cbi.umn.edu.
* ↑ Ada Lovelace | Babbage Engine | Computer History Museum. www.computerhistory.org.