Abstraction in Computer Science
Rent the article at a discountRent now
* Final gross prices may vary according to local VAT.Get Access
We characterize abstraction in computer science by first comparing the fundamental nature of computer science with that of its cousin mathematics. We consider their primary products, use of formalism, and abstraction objectives, and find that the two disciplines are sharply distinguished. Mathematics, being primarily concerned with developing inference structures, has information neglect as its abstraction objective. Computer science, being primarily concerned with developing interaction patterns, has information hiding as its abstraction objective. We show that abstraction through information hiding is a primary factor in computer science progress and success through an examination of the ubiquitous role of information hiding in programming languages, operating systems, network architecture, and design patterns.
- Benacerraf, P. (1965). What numbers could not be. Philosophical Review, 74, 47–73. CrossRef
- Carrano, F. M. (2007). Data abstraction & problem solving with C++. Boston: Addison-Wesley.
- Cohen, M. R., & Nagel, E. (1953). The nature of a logical or mathematical system. In H. Feigl & M. Brodbeck (Eds.), Readings in the philosophy of science (pp. 129–147). New York: Appleton-Century-Crofts.
- Colburn, T. R., Fetzer, J. H., & Rankin, T. L. (1993). Program verification: Fundamental issues in computer science. Dordrecht, The Netherlands: Kluwer Academic Publishers.
- Fetzer, J. H. (1988). Program verification: The very idea. Communications of the ACM, 31(9), 1048–1063. CrossRef
- Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Boston: Addison-Wesley.
- Hailperin, M., Kaiser, B., & Knight, K. (1999). Concrete abstractions: An introduction to computer science. (Pacific Grove, CA: PWS Publishing). Also available online: http://www.gustavus.edu/+max/concrete-abstractions.html.
- Hardy, G. H. (1967). A mathematician’s apology. London: Cambridge University Press.
- Kline, M. (1972). Mathematical thought from ancient to modern times. New York: Oxford University Press.
- Kurose, F. K., & Ross, K. W. (2003). Computer networking: A top-down approach featuring the internet. (2nd ed.). Boston: Pearson Education.
- Lewis, D. K. (1973). Counterfactuals. Cambridge, MA: Harvard University Press.
- Lewis, D. K. (1986). On the plurality of worlds. Oxford: Basil Blackwell.
- Lindholm, T., & Yellin, F. (1999). The Java virtual machine specification (2nd ed.). http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html.
- Locke, J. (1706). An essay concerning human understanding. Illinois: Open Court Publishing (1962 reprint).
- Resnik, M. D. (1997). Mathematics as a science of patterns. Oxford: Oxford University Press.
- Russell, B. (1903). Principles of mathematics. Cambridge: Cambridge University Press.
- Shapiro, S. (1997) Philosophy of mathematics: structure and ontology. New York: Oxford University Press.
- VMware (2006). VMware Inc. http://www.vmware.com/.
- Whitehead, A. N., & Russell, B. (1910). Principia mathematica. Cambridge, England: Cambridge University Press.
- The Xen Virtual Machine Monitor (2006). University of Cambridge. http://www.cl.cam.ac.uk/Research/SRG/netos/xen/.
- Abstraction in Computer Science
Minds and Machines
Volume 17, Issue 2 , pp 169-184
- Cover Date
- Print ISSN
- Online ISSN
- Springer Netherlands
- Additional Links
- Computer science
- Information hiding
- Industry Sectors