Humans have something called working memory which can be thought of as the number of ideas that someone can hold in mind simultaneously. Our working memory has limits, different for everyone (and it seems to diminish with age). By abstracting a system we can work with the essential relationships and features without getting caught up in details and exceeding our working memory capacity.
The danger with abstraction becomes eliminating too much and losing important details. The art of abstraction (I think it qualifies as an art) is thus to find the core process, relationship, features, etc that define something to be able to understand and work with it without making incorrect conclusions due to oversimplification. Correctly applying abstraction would arm you with a model and fundamental understanding of the system/process/object which allows you to work with it and draw accurate conclusions and predictions. It would also let you understand how a system broke down, where to intervene, or if something is truly a threat to the system.
So far I haven't provided any examples, but one that comes to mind is Amazon's flywheel business model and how lowering prices leads to more revenue (discussion here about 3/4 down if you're not familiar https://tim.blog/2019/02/20/the-tim-ferriss-show-transcripts-jim-collins-361/ or any number of articles that show up on Google).
I'm interested to get feedback. What do you think is correct? What am I forgetting? What are some dangers? How have you applied this concept in programming or other areas?
Cheers.
>By abstracting a system we can work with the essential relationships and features without getting caught up in details and exceeding our working memory capacity.
You are on the right track here. In Rand's "Introduction To Objectivist Epistemology" (where she spells out her theory of concepts) she identifies this as a fundamental cognitive need. As she put it, concepts are "space" savers that allow us to condense the world of experience into a manageable set of abstractions/concepts. The fundamental epistemological question is how do we define/use concepts without falling into contradiction or thinking in a circle.
BTW, Rand is not popular on HN so you won't get much discission here but read and judge her work for youself.