Как часто вы или вы видели метапрограммирование в проектах? В университете я никогда не видел, чтобы это применялось, но я видел это на своей предыдущей работе (когда я увидел это, я был поражен тем, насколько эффективно это было).
Но как часто это происходит? Используется ли он постоянно или просто время от времени?
meta-programming
gablin
источник
источник
Ответы:
Если вы считаете рефлексию разновидностью метапрограммирования, это относительно распространено. Для некоторых людей даже общее программирование (шаблоны и шаблоны) является формой метапрограммирования, так что это еще более распространено.
Однако, на мой взгляд, метапрограммирование является чем-то более сложным, оно включает в себя фактическую генерацию кода и, следовательно, довольно редко, даже в скриптовых языках.
источник
Я думаю, это сильно зависит от того, какой язык вы используете. Обычные люди на Лиспе, вероятно, справедливо его используют - например, протокол мета-объектов обеспечивает прозрачную / ортогональную постоянную аккуратность - и Smalltalkers часто его используют.
источник
Он часто и последовательно появляется в проектах Common Lisp. Проверьте OnLisp и Let Over Lambda для некоторого объяснения / понимания.
Если вы только после примеров (и знаете CL), проверьте хранилище Antiweb ; под прикрытием происходит много метапрограммирования.
источник
За последние два года первым делом программирования новой задачи почти всегда было написание кода для написания кода. Существует множество шаблонов, связанных с взаимодействием с базой данных, которые можно упростить вплоть до автоматической генерации сценариев. Подумайте о вещах, где вам нужно запросить 3 таблицы, чтобы сформировать объект или что-то подобное. Зачем писать сами, если есть 10 таких вещей, которые могут измениться в будущем?
источник