I want to tell you about an idea called that has had a huge influence on the way that I write software. And I mean that in the literal sense: it’s changed the way that I write software; it’s re-shaped my development workflow.
The idea is this: you can write programs that modify themselves.
And I don’t mean macros or metaprogramming or anything fancy like that. I mean that you can write programs that edit their own source code.