ฉันอยากรู้อยากเห็น - การเขียนโปรแกรมทั่วไป (GP) มีการใช้งานมากในอุตสาหกรรมหรือไม่
มันขึ้นอยู่กับบริบทของทีมและโครงการเป็นอย่างมาก
ตัวอย่างเช่นในวิดีโอเกมรหัสมักจะเป็น "ง่ายที่สุด" เป็นไปได้ (และบางครั้งก็ง่ายเกินไป) แต่ในสถาปัตยกรรมขนาดใหญ่ นั่นเป็นเพราะผู้พัฒนาเกมมีปัญหามากมายในการแก้ไขและไม่ต้องการที่จะรำคาญกับการเขียนโปรแกรมเมตา
ในเวลาเดียวกันการใช้งานพื้นฐานของแม่แบบนั้นเป็นเรื่องปกติแม้ในร้านค้าเหล่านั้นและคุณสามารถเห็นการเพิ่มประสิทธิภาพโดยใช้เทมเพลตในฟังก์ชั่นเฉพาะบางอย่างของเครื่องยนต์บางตัว
แต่ในเกม dev ผู้คนส่วนใหญ่จะหลีกเลี่ยงการเปรียบเทียบโปรแกรมใด ๆ
ตอนนี้ในอีกด้านที่รุนแรงบางแอปพลิเคชั่นที่ซับซ้อนจริงๆหรือการประมวลผลหนักที่ไม่ธรรมดาต้องมีการใช้โปรแกรม metaprogram บางชนิดเนื่องจากความต้องการด้านประสิทธิภาพและความยืดหยุ่น ตอนนี้ฉันกำลังทำงานอยู่
มันไม่ธรรมดา แต่มีอยู่แล้วและโดเมนเฉพาะ (ในบริบททางวิทยาศาสตร์หรือตัวเลขที่ฝังตัวบางส่วน) ต้องการผู้ที่รู้มากเกี่ยวกับ metaprogramming หรือต้องการเรียนรู้
ตรงกลางคนส่วนใหญ่จะใช้เมตาโปรแกรมในฐานะ "ลูกค้า" ไม่ใช่ "ผู้ออกแบบ" รหัสการเขียนโปรแกรมเมตาส่วนใหญ่จะรวมอยู่ในห้องสมุดเพราะห้องสมุดเป็นเครื่องมือสำหรับรหัสและอะไรจะดีไปกว่าห้องสมุดที่สามารถปรับให้เข้ากับประเภทที่กำหนดเองที่คุณทำงานด้วยจนถึงตอนนี้?
Boost (http://boost.org) เป็นชุดของห้องสมุดบางส่วนถูกสร้างขึ้นมาจากเวทมนตร์ดำที่ใช้เมตาโปรแกรมและใช้ในร้านค้า C ++ หลายแห่งในชื่อ "STL ++" ซึ่งเป็นส่วนเสริมของ STL (และเป็น) ไม่ใช่ทุกร้านค้าที่ใช้ด้วยเหตุผลหลายประการเช่นความเข้ากันได้ของคอมไพเลอร์ (บางบูสเตอร์สามารถทำให้คอมไพเลอร์ของคุณขอโทษสำหรับทุกครั้งที่เขาทำร้ายความรู้สึกของคุณ ... ) และบ่อยครั้งขึ้นเพราะนักพัฒนาบางคนไม่ชอบ เครื่องมือทำงานอย่างไรภายใน (พยายามทำความเข้าใจกับ Boost.Spirit ... )
ไม่ว่า บริษัท ใดที่คุณจะทำงานให้ บริษัท บางแห่งจะใช้กระบวนทัศน์นี้บาง บริษัท จะน้อยลงหรือไม่เลยหรือแม้แต่ห้ามพวกเขา
ไม่มีมติเพราะไม่มีใครมีความต้องการบริบทหรือทีมเดียวกัน
แต่ถึงกระนั้นก็มีการใช้งาน อาจถามว่าใครใช้การเพิ่มในรายการส่งเมล์เพื่อให้มีตัวอย่างจริงมากขึ้น?