6 ms·
The longer I work in software, the more I see parallels to DNA. Yeah, sure this parasitic chunk of blueprint seems like it doesn't do anything, but it's not har
by IggleSniggle 5y ago
The longer I work in software, the more I see parallels to DNA. Yeah, sure this parasitic chunk of blueprint seems like it doesn't do anything, but it's not harming survival of the species, and hey, maybe it will serve some important purpose to the propagation of the larger supporting organism somewhere in the long long tail of probability.
I've also adopted this truism, to help me away from pre-mature refactorings that I am prone to do: Clean code will either be discarded, or it will live long enough to get accidentally mutated into a mess that nobody wants to touch.
- wpietri 5y agoHah! I had the same thought. I proposed that after Y2K we shift all the old COBOL programmers to decoding the human genome, as 30-year-old code bases are the closest thing we have. In a few years I should make the same proposal but for all the Enterprise Java developers.
- rapnie 5y agoIt works the same with bureaucracy in governments too. Stuff is too complex, so rather extend than refactor.
- japanuspus 5y agoMy biologists friends on twitter were all up in the air about a "Vault Organelle"[0] the other day. Knocking out this organelle doesn't seem to do anything, but everyone seems to agree it must have some corner case function to still be around. The vault is not a new discovery, but since it doesn't exist in yeast or fruit flies it has somehow not gotten a lot of attention... [0]: https://en.wikipedia.org/wiki/Vault_(organelle) https://en.wikipedia.org/wiki/Vault_(organelle)
- deleted 5y ago[deleted]
- quantum_mcts 5y agohttps://xkcd.com/1605/ https://xkcd.com/1605/
- eyelidlessness 5y agoThe alt text on this one is impressively glib, even coming from xkcd.
- wenc 5y agoPython 3 was an attempt to remove cruft but it was drawn out and somewhat painful. Apple on the other hand has managed to reinvent itself successfully several times by controlling its vertical tightly, and each time it does it there’s a natural shedding of cruft. I remember every single architectural move — 68k to PPC to Intel and now to ARM, executed impeccably each time. Moving a developer ecosystem with the times is truly one of the harder things but Apple seems to have managed to pull it off each time.
- dtech 5y agoThat is not really the same. I wouldn't be surprised if Mac OS is still full of PowerPC specific code that just isn't easily identifiable as such.
- tambourine_man 5y agoIt's not. NeXT was already multiplatform in the 90s.
- eyelidlessness 5y agoNeXT was, but Carbon and its remnants were not produced at NeXT. Carbon is long gone, but those remnants still exist in iTunes/the various apps split off from it. And being multiplatform doesn’t suggest the absence of platform-specific code. I’ve hypothesized recently (to some chagrin) that Apple probably still maintains a skunkworks version of macOS for PPC, as insurance. It would be silly if they didn’t, given the history. So, probably yeah there’s a bunch of PPC code in macOS, but I’d bet it’s generally quite identifiable.
- tambourine_man 5y agoI bet you there isn’t. It would have to be emulated, which would be too easy to spot. And there’s also no need. They’ve been using a much higher level tool chain for decades. There’s plenty of legacy code, sure, but no PPC. Rest assured.
- marwis 5y agoIn case of web apps/sites you can easily find truly dead code by inserting instrumentation/reporting in all the old workarounds and collecting it over some reasonable period of time.
- remus 5y agoNext week on hacker news "My 5 year old TV just started sending data to Google servers!"
- IggleSniggle 5y ago"Yeah, we put in this special case to handle the alternate logic during leap years, but someone refactored it out!"
- samus 5y agoNature is experimenting all the time though. Damage to DNA is random and stable and mutable parts of the DNA have an equal chance to be impacted. Beningn mutations accumulate and non-viable ones don't persist for very long. Also, accidents during cell division can cause parts of the genome to be lost. Sometimes more extreme changes happen during cell division when genomes are duplicated. Retroviruses that manage to reach the germ line can also have a huge impact. In these cases, the new genetic material can take over entirely new functions. Human evolution is pretty slow because of a generation time of 20 to 30 years, but in more short-lived species such as fruit flies much more interesting things can be observed. Some of these indeed remind me of software development.