Без заголовка
Немножко не так. Если написать программу, которая пишет другую программу, то кто будет писать и улучшать первую программу? Над ней тогда нужно еще программу...
Я, скорее, о чем-то типа процесса bootstrapping. Или что-то, отдаленно напоминающее схему рефлексного радиоприемника, когда одна и та же программа переписывает и себя и ту часть, которая собственно выполняет роль "полезной нагрузки".
К сожалению, пока не могу придумать четко, хотя идея в голове вертится уже много-много лет (((
Даже пытался делать какие-то эксперименты в стиле Tierra и Avida. Но пока не взлетело. Начиная с определенного размера, наборы команд становятся слишком хрупкими - их ломают самые незначительные изменения, они накапливают бесполезные куски - интроны. Нужен какой-то ансамблевый метод...