Oct. 18th, 2012

migmit: (Default)
Хотел написать программный пост про то, как я не люблю генераторы кода. Причём любые. Сюда попадают макросы: CPP, Лисп (считай, целиком), Template Haskell, да всё подряд. И внешние препроцессоры — например, тот же CPP, когда он используется отдельно от C. Отдельной строкой сюда идут шаблонизаторы, генерирующие программный код — как в HSP, скажем. И всякие безумные тулзы, генерирующие "заготовки" сайтов, как это делает, например, Snap (и я уж молчу про разные джанги).

Не получилось. Потому что есть один язык генерации кода, который я могу терпеть. Он абсолютно ублюдочен. По сравнению с ним, синтаксис того же Template Haskell — это произведение искусства. Он завязан на единственный язык, и оторвать его невозможно. Его не получится использовать без интенсивной гуглёжки. И всё же я могу терпеть его наличие в коде и даже писать на нём сам.

Называется — шаблоны C++.