5 ms·
An approach from one of my early employment experiences (1980s): 1. Write a CAD system. User-facing code in BASIC. Rendering engine written in assembly. 2. Ru
by jackhack 8y ago
An approach from one of my early employment experiences (1980s):
1. Write a CAD system. User-facing code in BASIC. Rendering engine written in assembly.
2. Run the interpreted BASIC code through an optimizer, which condensed all variable and function names to be as short as possible (one or two characters) and moved frequently-used routines to the top of the module before compiling it all into one executable chunk (no more interpreter). This optimized code is almost unreadable but executes a lot faster (25%-50%) than the human-readable interpreted code. Hurray!
3. Lose the original source code.
Build machine's hard drive died. The backups weren't. No version control -- only occasional snapshots. Source code that was on various floppy disks lying around the office was incomplete and badly outdated (like the "Old Documents/John's Code example, above).
4. Team panics and spends a month trying to piece "Humpty Dumpty" (the software) back together again. No luck.
5. Spend the next year trying to reconstruct function and variable names from "AA423()" and "aa_237" to such gems as "customerListIThink", "doesSomethingToInventory()", "NoIdea()", "BreaksWhenIChangeIt()" while struggling to add new features at 1/10th the rate before the loss.
6. Try to rewrite the whole thing in C.
7. Go out of business.
True story.