Merak ediyorum - jenerik programlama (GP) endüstride çok mu kullanılıyor?
Gerçekten büyük ölçüde ekibin ve projenin bağlamına bağlı.
Örneğin, video oyunlarında, kod genellikle mümkün olan en basit (hatta bazen çok basit) fakat büyük mimarilerde bulunur. Bunun nedeni, oyun geliştiricilerin düzeltmek için çok fazla sorunları olması ve meta programlama ile uğraşmak istememeleri (C ++ içinde ayrı bir çok soyut ve dili kavramak zor).
Aynı zamanda, bu mağazalarda bile şablonların temel kullanımı yaygındır ve bazı motorların bazı çok özel işlevlerinde bazı şablon tabanlı optimizasyonları görebilirsiniz.
Ancak oyun geliştirmede, çoğu insan herhangi bir metaprogramlamadan kaçınır.
Şimdi, diğer uç tarafta, yaygın olmayan bazı gerçekten karmaşık veya ağır işleme uygulamaları, yaygın olmayan performans ve esneklik (derleme zamanında) gereksinimleri nedeniyle bir tür ağır metaprogramlama gerektirir. Şu anda bir arada çalışıyorum.
Bu yaygın değildir, ancak vardır ve bazı niş alanlar (bazı bilimsel veya sayı çatırdayan gömülü bağlamlarda), insanların metaprogramlama veya öğrenmek isteyen hakkında çok şey bilmesini gerektirir.
Ortada, çoğu insan meta-programlamayı "tasarımcı" olarak değil, "istemci" olarak kullanacaktır. Çoğu meta-programlama kodu kütüphanelerde paketlenmiştir, çünkü kütüphaneler kod araçlarıdır ve şimdiye kadar birlikte çalıştığınız özel türlere uyum sağlayabilen bir kütüphaneden daha iyi olan nedir?
Boost (http://boost.org), bazıları ağır meta programlı kara büyüden yapılmış bir dizi kütüphanedir ve bir çok C ++ dükkanında STL'nin bir uzantısı olan "STL ++" olarak kullanılmaktadır (ve öyle). Her dükkan derleyici uyumluluğu gibi bazı nedenlerle kullanmaz (bazı yükseltme kütüphaneleri, derleyicinizi hissinize zarar verdiği her zaman affedebilir ...) ve daha sık çünkü bazı geliştiriciler anlayamamayı sevmez bir araç nasıl çalışır (Boost.Spirit'i anlamaya çalışın ...)
Çalışacağınız şirketler ne olursa olsun, bazıları bu paradigmayı kullanacak, bazıları daha az veya hiç olmayacak veya hatta yasaklayacaktır.
Fikir birliği yoktur çünkü kimse aynı ihtiyaçlara, bağlama veya takıma sahip değildir.
Ama yine de, açıkçası, kullanılıyor. Belki de posta listelerinde kimin destek kullandığını daha gerçek dünya örnekleri için isteyebilirsiniz?