DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2007.127
Copy-pasting code is a source of bugs. By employing in our programs abstraction mechanisms such as functions, classes, types, decision tables, domain-specific languages, and databases, we can abstract common elements into parameterized reusable functionality. However, abstraction has its cost. Its early gains are large, but eventually the benefits turn negative and the code becomes less comprehensible and maintainable. Deciding when abstracting is appropriate is what makes programming an art.
Index Terms:
abstraction, function, class, generics, types
Citation:
Diomidis Spinellis, "Abstraction and Variation," IEEE Software, vol. 24, no. 5, pp. 24-25, Sep./Oct. 2007, doi:10.1109/MS.2007.127 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||