Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there any significant disadvantages to depending upon abstractions? [closed]

Tags:

People also ask

What is a disadvantage of abstracted code?

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 in programming?

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.

What is abstraction in oop?

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?