Tuesday, December 12, 2023

Working old software is underappreciated


 

Working old software is underappreciated


A decision all programmers have faced is whether or not to replace old working software. 

There are usually good reasons to replace but especially extensibility.  Old code is brittle 

and often contains parts nobody understands.   Sometimes it contains inefficiencies for modern

 hardware and you wouldn’t design it that way now.


My experience is that for most programmers, they err on the side of rewriting when they shouldn’t.

And this is not a small effect: they err a lot in that direction.  I am no exception to this.  

 I think there are many reasons for this systematic err, but one is programmer personality…

 we like to create.  Better to build a new creative building than to paint an old one that is boring.   

But I think the big reason is we tend to underrate the best quality of old software: it works.


A key invisible thing about old software is that it has survived many battles 

nobody remembers and is empirically robust to many situations.  

 The key is that old software has survived under selection pressure. 

As this famous Ape 2.0 has shown, this is VERY powerful:




 If you start from scratch, it may take years to develop that intrinsic robustness.   

Being more wary of deleting old code is a cousin of this maxim:

 

 “Don't ever take a fence down until you know the reason it was put up” (Chesterton)


Let’s go to an Oryx and Crake style genetic engineering problem if you had the DNA 

skills to design creatures.   Should you improve on this ridiculous 

poorly designed creature (Photo:Samuel Blanc):

I mean it has wings but can’t fly?!   Some users may need that feature.  

 It swims but has feathers than can get wet?!   Why not make it like a dolphin.  

 Sure that creature might be better than version 1.0, but it might need many 

mods as it “dies” in various ways.


Another poorly designed creature that should be redesigned?   No brains and all spikes:


Make the brain bigger.  Make the legs longer.  Give it thumbs.


Having had a hedgehog as a pet, I am the first to admit they are ridiculous.  

But the hedgehog has needed little revision for 15 million years!


While the penguin and hedgehog are both very robust, if they traded continents both 

would probably die.   So sometimes the environment changes enough that starting from 

scratch is a good thing.   But never underestimate all the hidden talents in an 

evolved creature or piece of software!  Please read more about it in my new book:




6 comments:

Consuelo Speranza said...

That’s a great point! It’s a common dilemma in software development. While updating old software can bring benefits like improved performance and security, it’s also a significant investment of time and resources. It’s important to weigh the costs and benefits carefully before making a decision. Sometimes, the ‘if it ain’t broke, don’t fix it’ approach can be the most practical solution.

Please Contact Us for Forex Translation Services

Health and Wellness said...

https://heathylivingsimplified.blogspot.com/2025/03/swadeshi-shudh-neem-honey-benefits-healthy-living.html

onlineAssignmenthelp said...

Essay writing doesn't need to be overwhelming. You have professional experience of professional writers who provide quality work with The Tutors Help. From research essays, argument essays, to dissertations, we are available to help.
Don't let the concern of essay writing consume you. The Tutors Help today and get the best essay writing service in Australia!
https://www.thetutorshelp.com/essay-writing-services-in-australia.php

Best Essay Writing Services in Australia

onlineAssignmenthelp said...

Essay writing doesn't have to be a stressful experience if you utilize The Tutors Help. You can receive professional custom essay writing services that simplify your academic life. You require research assistance, writing, or editing, and we are here to help you.
We will do your essays while you concentrate on studying and realizing your academic objectives. Chat with The Tutors Help today for expert essay writing services!
https://www.thetutorshelp.com/custom-essay-writing-services.php

Custom Essay Writing Services

onlineAssignmenthelp said...

Accounting is a serious subject, but accounting-based topic essays don't come easy. If accounting statements, taxes, or audits are giving you a headache, we can assist at The Tutors Help.
No more angst over accounting essays! Chat on The Tutors Help today for expert guidance and ace A's with ease.
https://www.thetutorshelp.com/accounting-essay-help.php

Accounting Essay Help

Taaza-Khabar said...

Stay up to date with the state-of-the-art News and pinnacle breaking testimonies from around the arena. Get actual-time updates on politics, sports, business, entertainment, and extra. From countrywide headlines to worldwide events, we bring you the maximum critical news as it happens. Stay informed with Taaza Khabar!