Метапрограммирование. Создание программ, которые создают другие программы как результат своей работы, либо изменяющие или дополняющие себя во время выполнения. Пример, когда можно говорить о метапрограммировании: программа на языке Си++ генерирует скрипт на SQL для внесения данных в реляционную базу данных. Можно говорить о двух разновидностях метапрограммирования: метапрограммирование на стадии компиляции (генерация кода) и метапрограммирование на стадии выполнения (самомодификация кода).
0