Abstraction in Computer Science

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.

[1]  Frank M. Carrano Data Abstraction & Problem Solving with C++ (5th Edition) , 2006 .

[2]  G. D. Liveing,et al.  The University of Cambridge , 1897, British medical journal.

[3]  James H. Fetzer,et al.  Program Verification: Fundamental Issues in Computer Science , 1993 .

[4]  Michael D. Resnik,et al.  Mathematics as a science of patterns , 1997 .

[5]  Max Hailperin,et al.  Concrete Abstractions: An Introduction to Computer Science Using Scheme , 1998 .

[6]  James H. Fetzer Program verification: the very idea , 1988, CACM.

[7]  James E. Tomberlin,et al.  On the Plurality of Worlds. , 1989 .

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  John Locke,et al.  An essay concerning human understanding, 1690 , 1970 .

[10]  M. Kline Mathematical Thought from Ancient to Modern Times , 1972 .

[11]  Keith W. Ross,et al.  Computer networking - a top-down approach featuring the internet , 2000 .

[12]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[13]  David B. Yoffie,et al.  VMware, Inc. (A) , 2006 .

[14]  S. Shapiro Philosophy of mathematics : structure and ontology , 1997 .

[15]  Paul Benacerraf,et al.  Philosophy of mathematics: What numbers could not be , 1965 .

[16]  F. S.,et al.  A Mathematician's Apology , 1941, Nature.

[17]  Godfrey H. Hardy,et al.  A mathematician's apology , 1941 .

[18]  B. Russell The Principles of Mathematics , 1938 .

[19]  S. Weidenschilling,et al.  A plurality of worlds , 1991, Nature.