With such a codebase, once it is settled to a certain point, you stop adding things. You write new things, and carefully interface with the old stuff.
Imagine a bank. Their software core is usually neolithic, i.e. written in COBOL or even worse, FORTRAN. You don’t add the “online banking” or “web client” interface in the original language. You add them in something more contemporary, which interfaces to the neolithic core via files, pipes, libraries, whatever, and translate it into a frontend as needed. As long as the core works, nobody needs to touch it.
With such a codebase, once it is settled to a certain point, you stop adding things. You write new things, and carefully interface with the old stuff.
Imagine a bank. Their software core is usually neolithic, i.e. written in COBOL or even worse, FORTRAN. You don’t add the “online banking” or “web client” interface in the original language. You add them in something more contemporary, which interfaces to the neolithic core via files, pipes, libraries, whatever, and translate it into a frontend as needed. As long as the core works, nobody needs to touch it.
Don’t kink shame.
My first network stack was written in assembly for a Motorola 68k. It was hot.
The extreme masochists begin to back slowly away in alarm.