TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Increasing abstraction is directly proportional to decreasing software quality

2 pointsby aligajaniover 8 years ago
It is my observation that if you use a shit ton of abstractions, wrapper libraries, frameworks, so on, your software gets crappier. This is from experience, too. Whereas, if you build something from scratch, that is, reduce reliance on abstractions, the software quality in the long run is more stable. Thoughts?

4 comments

pattrnover 8 years ago
The best code I&#x27;ve seen uses abstractions to decouple itself from the libraries and frameworks it uses. I don&#x27;t see any references to libraries or frameworks within the codebase, except in thin layers at the outskirts.<p>The worst code I&#x27;ve seen uses 1,000 frameworks and libraries without abstracting its communication with them. It calls their API&#x27;s directly, inherits from their classes, and passes their domain objects to its own API&#x27;s.<p>Abstractions should reduce complexity, making code more robust and simpler to understand. It doesn&#x27;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>P.S. I have a deep respect for machine-code programmers.
bjourneover 8 years ago
True, but within reason. For example, if you program in Javascript, you either build your own shitty DOM-library or you rely on a solid one like jQuery.<p>In 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&#x27;t have enough of them.
mailslotover 8 years ago
You might have seen some very bad abstractions. In my experience, they almost always make code more flexible, if designed &amp; implemented sanely. My $0.02.
评论 #13659277 未加载
评论 #13657757 未加载
ekvintrojover 8 years ago
&lt;sarcasm&gt; Sure, that&#x27;s why OOP failed. &lt;&#x2F;sarcasm&gt;
评论 #13659267 未加载