Мені цікаво - чи багато загального програмування (GP) використовується в промисловості?
Це дійсно широко залежить від контексту команди та проекту.
Наприклад, у відеоіграх часто код є "найпростішим" можливим (і навіть іноді занадто простим), але у великих архітектурах. Це тому, що розробники ігор мають багато проблем з виправленням і не хочуть заважати мета-програмуванню (це окремий дуже абстрактний і важко зрозуміти мову всередині C ++).
У той же час, основні способи використання шаблонів поширені навіть у цих магазинах, і ви можете побачити деякі оптимізації на основі шаблонів у деяких дуже специфічних функціях деяких двигунів.
Але в ігрових розробниках більшість людей просто уникатимуть метапрограмування.
Тепер, з іншого крайнього боку, для деяких дійсно складних або важких додатків для обробки, які не є загальними, потрібні якісь важкі метапрограмування через вимоги до продуктивності та гнучкості (під час компіляції), які не є загальними. Я зараз працюю в одному.
Це не є звичайним явищем, але існує, і деякі сфери (у деяких наукових або вбудованих контекстах, що вводяться в число) потребують того, щоб люди знали багато про метапрограмування або бажають навчитися.
У середині більшість людей просто використовуватиме метапрограмування як "клієнт", а не як "дизайнер". Більшість кодів метапрограмування входить у бібліотеки, оскільки бібліотеки - це інструменти для коду і що краще, ніж бібліотека, яка може адаптуватись до користувацьких типів, з якими ви працювали дотепер?
Boost (http://boost.org) - це набір бібліотек, деякі з яких виготовляються з важкої метапрограмування чорної магії, і використовуються в багатьох магазинах C ++ як "STL ++", розширення STL (і це є). Не кожен магазин використовує його з декількох причин, як сумісність компілятора (деякі бібліотеки прискорення можуть змусити ваш компілятор вибачити за кожен раз, коли він зашкодив вашим почуттям ...) і частіше, тому що деякі розробники не люблять не в змозі зрозуміти як інструмент працює всередині (спробуйте зрозуміти Boost.Spirit ...)
Якими б компаніями ви не працювали, деякі використовуватимуть цю парадигму, а інші менше чи зовсім не заборонятимуть її.
Не існує єдиної думки, оскільки ніхто не має однакових потреб, контексту чи команди.
Але все одно, очевидно, воно використовується. Можливо, запитайте, хто використовує поштовх у своєму списку розсилки, щоб мати більше прикладів у реальному світі?