"crash-landings we had when I was a programmer was writing self-modifying code."
I was taught about this in High School. Mostly that it could be done, but it was a Very Bad Idea to do it.
It took me years to find any actual cases of it being used.
a) The Apollo Guidance Computer b) The Bell Labs "Blit" bit mapped terminal.
Both of which had (for different reasons) severe resource constraints.
So I'm curious, what was your hardware environment?