What is an abstraction?
An Abstraction is the simplification of complex ideas to focus on the most critical aspects, thus to be able to understand patterns and principles more effectively.
From its roots, abstraction should mean basically "something pulled or drawn away". So abstract art is art that has moved away from painting objects of the ordinary physical world in order to show something beyond it. Theories are often abstractions; so a theory about economics, for instance, may "pull back" to take a broad view that somehow explains all of economics (but maybe doesn't end up explaining any of it very successfully). An abstract of a medical or scientific article is a one-paragraph summary of its contents—that is, the basic findings "pulled out" of the article.
- Why do we even need abstractions? Shouldn't we have code that is concise and easy to understand?
- Is it possible to over-abstract, if so how does that look?