I made a Python script that copied itself and launched the copies (It had the ability to mutate too though by randomly changing the copies). I thought eventually it would evolve into a sentient being. But it would just tie up all my resources and freeze the computer.
One time something interesting happened though. I noticed the latest copies had commented out the mutation part of the code. They had "evolved" to not mutate. I'm guessing that was the best strategy to make viable offspring.
My take away lesson was that mutation has to come from the environment for early life forms to advance.