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.

Observing the second law of thermodynamics in software

47 pointsby nkcmralmost 7 years ago

5 comments

dustingetzalmost 7 years ago
There is a cost to everything-private, which is that downstream consumers of your software hate you because now they have to get PRs merged for every little thing that you didn&#x27;t anticipate. Actually it probably makes the problem worse because we&#x27;re just going to patch your shit and access the private fields anyway.<p>The functional programming and especially the data driven schools of thought tackle the same problem more elegantly.
评论 #17183801 未加载
评论 #17181350 未加载
sadgitalmost 7 years ago
The author talks about a piece of software as if it were a closed system, where disorder would inevitably increase. This is not the case, disorder in software can be decreased by doing work. However, the business requirements will inevitably become more complex over time, and there will come a point where the cost of adaptation of the software is higher than the cost of starting over with a design that better accomodates the current requirements. Inability to adapt is observed in ageing organisms also.
评论 #17180870 未加载
评论 #17180723 未加载
m0skit0almost 7 years ago
However a software is not an isolated system.
评论 #17190588 未加载
bootszalmost 7 years ago
&gt; <i>In the attempt to make this move, the first step will be to find all the places in the code-base that make use of this public property and fix those so that they don’t do this anymore. If the tooling around the project is amazing, there will be some static code analysis to use; but most will end up having to grep the entire code-base </i><p>Isn&#x27;t &quot;find all usages&quot; a pretty basic feature in modern IDEs? If you&#x27;re working in a single self-contained codebase this really isn&#x27;t very hard to do.<p>IMO a lot of the teaching around best practices in OO programming doesnt differentiate enough between things that matter in authoring libraries versus self-contained proprietary code. When everyone is committing to the same repo certain types of encapsulation and abstraction aren&#x27;t always as critical as they&#x27;re made out to be.
评论 #17181271 未加载
评论 #17181630 未加载
tantaloralmost 7 years ago
This is a real thing, not an analogy to physics, called Technical Debt<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Technical_debt" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Technical_debt</a>