Increasing abstraction is directly proportional to decreasing software quality
1–9 of 9 posts
Re: Increasing abstraction is directly proportional to decreasing software quality
#2Re: Increasing abstraction is directly proportional to decreasing software quality
#3You might have seen some very bad abstractions. In my experience, they almost always make code more flexible, if designed & implemented sanely. My $0.02.
Re: Increasing abstraction is directly proportional to decreasing software quality
#4Re: Increasing abstraction is directly proportional to decreasing software quality
#5Sure, that's why OOP failed.
Re: Increasing abstraction is directly proportional to decreasing software quality
#6You might have seen some very bad abstractions. In my experience, they almost always make code more flexible, if designed & implemented sanely. My $0.02.
Re: Increasing abstraction is directly proportional to decreasing software quality
#7The worst code I've seen uses 1,000 frameworks and libraries without abstracting its communication with them. It calls their API's directly, inherits from their classes, and passes their domain objects to its own API's.
Abstractions should reduce complexity, making code more robust and simpler to understand. It doesn't always work out that way, especially when abstractions have poor names, but it can. If abstractions truly decreased productivity, then machine-code programmers would blow everyone else away with their speed and efficiency.
P.S. I have a deep respect for machine-code programmers.
Re: Increasing abstraction is directly proportional to decreasing software quality
#8In general I would say your claim is much more true than it is false because a piece of software with too many abstraction layers and wrappers is orders of magnitudes harder to fix than one which doesn't have enough of them.
Re: Increasing abstraction is directly proportional to decreasing software quality
#9Sure, that's why OOP failed.
OOP is for helping to "engineer" software with hierarchies. What I referred to is framework/library level abstraction. Referring to Hipsters. Hard to scale, bad software, because one doesn't know the underlying technologies they're using. I mean, I am not saying use C, but try to do it natively. Most people use underscore because of some functions that are easily doable in vanilla.
I agree with that.