For me it is Cellular Automata, and more precisely the Game of Life.

Imagine a giant Excel spreadsheet where the cells are randomly chosen to be either “alive” or “dead”. Each cell then follows a handful of simple rules.

For example, if a cell is “alive” but has less than 2 “alive” neighbors it “dies” by under-population. If the cell is “alive” and has more than three “alive” neighbors it “dies” from over-population, etc.

Then you sit back and just watch things play out. It turns out that these basic rules at the individual level lead to incredibly complex behaviors at the community level when you zoom out.

It kinda, sorta, maybe resembles… life.

There is colonization, reproduction, evolution, and sometimes even space flight!

  • Lvxferre@lemmy.ml
    link
    fedilink
    arrow-up
    13
    ·
    1 year ago

    There are plenty things that we could talk about legacy systems from an evolutionary approach. It’s specially fun when you notice similarities between software and other (yup!) evolutionary systems.

    For example. In Biology you’ll often see messy biological genetic pools, full of clearly sub-optimal alleles for a given environment, decreasing in frequency over time but never fully disappearing. They’re a lot like machines running Windows XP in 2023, it’s just that the selective pressure towards more modern Windows versions was never harsh enough to get rid of them completely.

    Or leftovers in languages that work, but they don’t make synchronic sense when you look at other features of the language. Stuff like gender/case in English pronouns, Portuguese proclisis (SOV leftover from Latin in a SVO language), or Italian irregular plurals (leftovers of Latin defunct neuter gender). It’s like modern sites that still need animated .GIF support, even if .WEBM would be more consistent with the modern internet.