Abstraction abstracted

  • Authors:
  • Russ Abbott;Chengyu Sun

  • Affiliations:
  • California State University, Los Angeles, CA, USA;California State University, Los Angeles, CA, USA

  • Venue:
  • Proceedings of the 2nd international workshop on The role of abstraction in software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

An abstraction is the reification and conceptualization of a distinction. We use the process of forming abstractions to make sense of the world, i.e., to form concepts. Once created we are often able to externalize these concepts as software. Abstractions are what give software elegance. Abstractions build on each other, producing a hierarchical dependency structure that often creates challenges for understanding. We can teach the use of pre-packaged abstractions. It is more difficult to teach the self-awareness necessary for inventing new abstractions. The process of building abstractions is bottom-up. Thought externalization is where top-down meets bottom-up.