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.

How to write software than will keep working for decades without problems

74 pointsby kaeructover 3 years ago

12 comments

dustedover 3 years ago
Someone once told me &quot;If you&#x27;re not using a framework, you&#x27;re building one&quot;.<p>I thought a lot about the many implications of that sentence, one of which is relevant for this article. Understand that you _WILL_ always use a framework, whether it&#x27;s an external one or your own. Knowing this, when choosing not to use an external framework, you must show consideration to the design of the one you&#x27;re inevitably building, and chose to build it intently, rather than by accident.<p>I&#x27;m entirely in agreement with every sentiment of this article, not only does it make software that will last longer, but for some of us at least, makes for a much more fun, interesting and enjoyable development experience.<p>Writing a program from scratch actually feels like programming, it feels like doing the thing we&#x27;re here to do, rather than laying the plumbing that ties together a multitude of third party, constantly-changing (if not just randomly disappearing from the internet) frameworks together.
评论 #30067894 未加载
mikewarotover 3 years ago
I wrote a system in the 1980s in Turbo Pascal under MS-DOS to talk to a bunch of hardware, and keep a display updated. It did large water meter calibrations, for city size meters, 6&quot; and up.<p>That software survived Y2k with no incident, the only reason I heard about it was in 2007 when one of the cards was replaced, it failed to restart.<p>It turns out they had the two cables swapped. As far as I know it&#x27;s still going strong.<p>I followed most of the rules detailed in the article, it was simple, did the one thing (including a multitasking library I wrote), and just kept doing it.
commandlinefanover 3 years ago
&gt; when you&#x27;re dealing with a team of developers because then everyone will know that framework and understand the software<p>I can&#x27;t name a framework I&#x27;ve ever worked with that <i>anybody</i> actually understood.
评论 #29985791 未加载
Tainnorover 3 years ago
This is a low quality flamebait article.<p>&gt; Very rarely is the added complexity of frameworks justified and the added risk of breaking stuff down the line makes it a NO GO for serious software deployments. Only toy software and very small applications can justify the usage of frameworks and the likes.<p>There are definitely downsides to using frameworks, but this statement directly flies in the face of evidence. There&#x27;s a ton of commercially successful software using frameworks, just think of all the things that are powered by React, Ruby on Rails or Spring Boot.
评论 #29993533 未加载
评论 #29993795 未加载
jmnicolasover 3 years ago
The problem by not using a framework is that you&#x27;re going to reinvent one. Will it be better than what&#x27;s available depends on your talents but one thing is sure: you&#x27;re going to have to maintain it and won&#x27;t have as many eyes on it.<p>I guess your mileage may vary so it&#x27;s a case by case decision.
评论 #29985595 未加载
评论 #29989255 未加载
xupybdover 3 years ago
&quot;It&#x27;s easy and quick to make junk! Quality requires time and deliberation.&quot;<p>This is the cause of most of the problems I have seen. Businesses want quick over quality. Sometimes this is the right business decision.
评论 #29986155 未加载
dmitrygrover 3 years ago
Write it in C and make sure it compiles on a POSIX system. Next question.<p>Evidence: most of you are running such software, the internet infra depends on it, etc...
fb03over 3 years ago
I&#x27;d be comfortable with a halfway approach to this article.<p>- Ship and implement as much as you want when you need tight control. - But build on solid foundations which are already well established, so that you don&#x27;t end up reinventing the frigging wheel.<p>I have a Flask app which is nearing 8 years old and it&#x27;s going fine. Nowadays, I&#x27;m starting my backend python APIs with FastAPI, and feeling very comfortable.
tpoacherover 3 years ago
I think the author misses the obvious:<p>Write your code as if you actually expect your code to be still working and maintainable after decades in the first place.
_notathrowawayover 3 years ago
I wonder as to what types of functions the author speaks of on &quot;Make custom functions, don&#x27;t rely on the platform&quot;. The article mentions a &quot;PHP 4.x. (application) which is now running on PHP 8.0&quot;. Does that mean that the author has avoided using portions of the PHP API? If so, is anyone able to think of something that the author could have done in this case?
begueradjover 3 years ago
One of my former -and very nice- employers would be happy to read this (that&#x27;s exactly what he has been doing for ages :)
captainblandover 3 years ago
I think out-of-the-box PHP kind of is a framework, at least compared to what you get in most other languages.