Skip to main content
Log in

Abstraction in Computer Science

  • Published:
Minds and Machines Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  • Benacerraf, P. (1965). What numbers could not be. Philosophical Review, 74, 47–73.

    Article  Google Scholar 

  • Carrano, F. M. (2007). Data abstraction & problem solving with C++. Boston: Addison-Wesley.

    Google Scholar 

  • 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.

    Google Scholar 

  • Colburn, T. R., Fetzer, J. H., & Rankin, T. L. (1993). Program verification: Fundamental issues in computer science. Dordrecht, The Netherlands: Kluwer Academic Publishers.

    MATH  Google Scholar 

  • Fetzer, J. H. (1988). Program verification: The very idea. Communications of the ACM, 31(9), 1048–1063.

    Article  Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Boston: Addison-Wesley.

    Google Scholar 

  • 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.

    MATH  Google Scholar 

  • Kline, M. (1972). Mathematical thought from ancient to modern times. New York: Oxford University Press.

    MATH  Google Scholar 

  • Kurose, F. K., & Ross, K. W. (2003). Computer networking: A top-down approach featuring the internet. (2nd ed.). Boston: Pearson Education.

    Google Scholar 

  • Lewis, D. K. (1973). Counterfactuals. Cambridge, MA: Harvard University Press.

    Google Scholar 

  • Lewis, D. K. (1986). On the plurality of worlds. Oxford: Basil Blackwell.

    Google Scholar 

  • 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.

    MATH  Google Scholar 

  • Russell, B. (1903). Principles of mathematics. Cambridge: Cambridge University Press.

    MATH  Google Scholar 

  • Shapiro, S. (1997) Philosophy of mathematics: structure and ontology. New York: Oxford University Press.

    Google Scholar 

  • VMware (2006). VMware Inc. http://www.vmware.com/.

  • Whitehead, A. N., & Russell, B. (1910). Principia mathematica. Cambridge, England: Cambridge University Press.

    MATH  Google Scholar 

  • The Xen Virtual Machine Monitor (2006). University of Cambridge. http://www.cl.cam.ac.uk/Research/SRG/netos/xen/.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timothy Colburn.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Colburn, T., Shute, G. Abstraction in Computer Science. Minds & Machines 17, 169–184 (2007). https://doi.org/10.1007/s11023-007-9061-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11023-007-9061-7

Keywords

Navigation