There are some disadvantages to abstractions in programming though. First of all, the more abstraction layers you add, the less efficient the end program will run. This is due to the higher languages has to be interpreted and eventually compiled.
Why is abstraction important? Abstraction allows us to create a general idea of what the problem is and how to solve it. The process instructs us to remove all specific detail, and any patterns that will not help us solve our problem. This helps us form our idea of the problem.
Abstraction is the process of hiding the internal details of an application from the outer world. Abstraction is used to describe things in simple terms.
After reading this wiki on the Stable Abstractions Principle (SAP) I was wondering if anyone knows any disadvantage to depending on abstractions rather than concretes (i suppose, that outweighs the advantages).
The SAP states that the more stable a package the more abstract it should be. This implies that if a package is less stable (more likely to change) then it should be more concrete. What i don't really understand is why this should be the case. Surely in all cases regardless of stability we should be depending upon abstractions and hiding the concrete implementation?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With