Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The spirit of this, caring for objects that have helped people for a long time so they can be used for years to come, is something I try to develop in regards to software.

I try to point out to people who use words like "legacy" as an insult that the system having reached that status and still being maintained is a sign that it has served a lot in the past and probably can if maintained with care. I think the "my dream would be to rewrite it from scratch using [FOTM language]" is a bad mindset.

I think we should be curious about old software like we are about many physical old objects. You wouldn't visit a windmill and call it a terrible relic of the past; you would marvel at how ingenuous people had been with so little back then).

By cherishing and caring for what we have been handed over, we have a great opportunity to maintain and improve it, and hand it over to the next generation/team.

I live in Japan where the care for other people work is everywhere, and i can witness how it then motivate people to do their best, and cultivate a culture of respect and care.



While I generally agree with your sentiment, I find the windmill example a bit lacking. Two thoughts:

(a) Wind mills _are_ relics from the past. They were replaced with [FOTM mills] as soon as better alternatives became available (probably during the industrial revolution?).

(b) Wind mills themselves are only the pinnacle of what was possible at that time and as [FOTM mills], they have replaced other types of mills (ox- or hand-driven) that came before them.

Still, your point stands, software can be build to last the test of time. I "maintain" two (tiny) Haskell libraries [0] that each do one very specific thing. And those have been basically unchanged since I wrote them five years ago.

[0] 18 stars on Github is worth something, right? ... right? :-)


> They were replaced with [FOTM mills] as soon as better alternatives became available (probably during the industrial revolution?).

This is not true. The definition of "better" doesn't exist as it's subjective. Windmills of all types exist today, and co-existed back then. Some people like certain trade-offs, and other people like other trade-offs. Saying for example that a metal tool is better than a wood tool is simply wrong. Some people to this day use very old technology, very much on purpose, because they deem it superior. People still marvel at stone buildings even though modern buildings use cement. There are different types or cement actually and all have pros and cons. Like Roman cement may last longer at the cost of needing more time/money whereas modern cement can be mass produced.

You can find analogies in software where old C tools are to this day cherished by many. Another example is people collecting retro hardware, or recreating old software like SerenityOS.

Some "improvements" may not be seem as such by some users, the same way an old master cheese maker does not see an industrial steel milk mixer as an improvement for what they are trying to do, as well the lifestyle they are trying to promote.


I covered that feeling in this submission[0]. Software can evolve, but sometimes software already does all of what it is supposed to, yet the world around it changes.

[0] https://news.ycombinator.com/item?id=29350221


Noob here :), What does FOTM stand for?


Flavo(u)r Of The Month. The thing that's popular today and will be surpassed by something else soon.


For example, angular, react, vue, etc. You can follow these tools as their popularity comes and go, but at the end of the day they exist on top of HTML/CSS/JS. So while these 3 basic blocks are there to stay forever, the tools on top are a game of musical chairs.

I'm not saying that they are bad. I've been using them at works for years. I'm saying that some people chose to focus on "old" tech and produce web pages and webapps without much tools. The advantage of this approach is that your environment is stable so you can actually learn and master the tools. You can even find crazy tricks and "abuse" some of the features as you become really good at those.

It can be liberating to stop changing tools every year, but instead learn the intricacies of the basic tools that will never change.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: