मुझे लगता था कि मेटाप्रोग्रामिंग प्रोग्राम को संशोधित करने में शामिल था, और (What is reflection and why is it useful? के कुछ उत्तरों के रूप में) कि प्रतिबिंब में केवल एक कार्यक्रम का आत्मनिरीक्षण शामिल था। हालांकि, प्रतिबिंब टैग विकी कहतेमेटाप्रोग्रामिंग प्रतिबिंब का सबसेट है?
प्रतिबिंब प्रक्रिया है जिसके द्वारा एक कार्यक्रम का निरीक्षण कर सकते हैं और रनटाइम पर अपनी ही संरचना और व्यवहार को संशोधित है।
प्रतिबिंब वह प्रक्रिया है जिसके द्वारा कोई प्रोग्राम आत्मनिरीक्षण कर सकता है। यह आत्मनिरीक्षण आमतौर पर निरीक्षण करने के लिए और रनटाइम पर अपनी ही संरचना और व्यवहार को संशोधित करने की क्षमता शामिल है। सैद्धांतिक दृष्टिकोण प्रतिबिंब से तथ्य यह है कि कार्यक्रम निर्देश डेटा के रूप में जमा हो जाती है से संबंधित है। प्रोग्राम कोड और डेटा के बीच अंतर यह है कि जानकारी का इलाज कैसे किया जाता है। इसलिए कार्यक्रमों डेटा के रूप में अपने स्वयं के कोड का इलाज और निरीक्षण या उन्हें संशोधित कर सकते हैं।
[जोर जोड़ा]
और metaprogramming के लिए विवरण
Metaprogramming प्रोग्राम हैं जो लिख सकते हैं या अपने डेटा के रूप में अन्य कार्यक्रमों में हेरफेर लिख रहा है है।
मेटाप्रोग्रामिंग उपयोगी है क्योंकि यह प्रोग्रामर मूल्यवान समय बचा सकता है। कुछ भाषाओं में खुद को metaprogram को समर्थन है और इस महान अर्थपूर्ण शक्ति के साथ कोड बनाने के लिए अनुमति देता है।
(मुझे लगता है कि मान "लिखने" एक फाइल करने के लिए स्रोत कोड लिखने मतलब यह नहीं है, क्योंकि वह कोड पीढ़ी होगी।)
इस metaprogramming केवल प्रतिबिंब के एक सबसेट होगा?
या शर्तें अलग हैं क्योंकि कुछ प्रोग्रामिंग भाषाएं किसी अन्य भाषा द्वारा मेटाप्रोग्राम की जाती हैं, इस मामले में मेटाप्रोग्रामिंग होती है लेकिन प्रतिबिंब नहीं होती है? (metaprogramming Wikipedia article में यह दावा करने वाला एक भी अनिश्चित वाक्य था)
या क्या "प्रतिबिंब" और "मेटाप्रोग्रामिंग" शब्द अलग-अलग उपयोग करते हैं, इस पर निर्भर करता है कि व्यक्ति किस प्रोग्रामिंग भाषा का उपयोग कर रहा है?