आत्मनिरीक्षण के बजाय प्रतिबिंब को प्रतिबिंब क्यों कहा जाता है?


79

परावर्तन शब्द की उत्पत्ति क्या है? यह आत्मनिरीक्षण अधिक पसंद है। ऐसा क्यों नहीं कहा जाता है?

आत्मनिरीक्षण : एक अंदर की ओर देखना; विशेष रूप से, स्व-परीक्षा का कार्य या प्रक्रिया।

परावर्तन :

  1. परावर्तित होने की स्थिति या प्रतिबिंबित होने की अवस्था।
  2. एक छवि; प्रतिनिधित्व; समकक्ष
  3. किसी चीज़ पर विचारों का निर्धारण; सावधानी से विचार करना
  4. विचार या ध्यान में होने वाला एक विचार।

वास्तव में यह एक दिलचस्प सवाल है। मुझे यकीन नहीं हो रहा है कि मुझे कोई अंतर दिखाई दे रहा है: p
जोहान्स स्काउब - litb

अगर आपको पसंद नहीं है तो आप इसे हटा सकते हैं।
mmcdole

1
कम से कम TCL में कोई अंतर नहीं लगता है
jk।

@ जोहान्सचैब-लिटब: यह एक जरूर-पूछ / उत्कृष्ट सवाल है। मैं बस इसे पोस्ट करने के कगार पर था अगर यह पहले नहीं पूछा गया था। यह केवल यह दर्शाता है कि हम जीवन में कितना कुछ करते हैं बिना किसी मामूली विवरण पर ध्यान दिए।
विवेके

जवाबों:


63

प्रतिबिंब के लिए फ्रेंच विकिपीडिया लेख पर एक दिलचस्प जवाब है ( यहां) )

प्रतिबिंब को दो भागों में विघटित किया जा सकता है:

  • आत्मनिरीक्षण: एक कार्यक्रम खुद की जांच कर सकता है।
  • इंटरसेशन: एक प्रोग्राम अपने राज्य / अर्थ को संशोधित कर सकता है।

इसलिए प्रतिबिंब आत्मनिरीक्षण की तुलना में एक 'मजबूत' संपत्ति है। इसीलिए आप कहते हैं कि रनटाइम पर प्रकारों को जानने की क्षमता के लिए आत्मनिरीक्षण करें (और उन्हें बदलना एक और क्रिया है: रूपांतरण / कास्टिंग)।

संपादित करें: वास्तव में मुझे एहसास हुआ कि पहला उत्तर वास्तव में यह कह रहा था कि ^ ^। खुद को अनप्लग करने का समय ...


2
फ्रेंच विकिपीडिया लेख को पढ़ते हुए, मुझे एहसास हुआ कि फ्रेंच में, "प्रतिबिंब" शब्द "रिफ्लेक्सिटी" के विचार से अंग्रेजी में अधिक निकटता से जुड़ा हो सकता है - जो स्वयं पर काम कर रहा है। यह शब्द समझने का सही तरीका है क्योंकि यह प्रोग्रामिंग भाषाओं पर लागू होता है।
Jan Hettich

मैं अभी भी यह नहीं देख सकता कि यह कैसे सवाल का जवाब देता है: वास्तव में, विकिपीडिया इस प्रकार के आत्मनिरीक्षण में अंतर करने में मदद करता है, यह केवल जानकारी प्राप्त करने के साथ ही इसे "संतुष्ट करता है", इसे बदले बिना (हालांकि फिर से, यह वास्तव में कैसे प्रासंगिक है ... कैसे कई बार हम जाने के समय प्रतिबिंब का उपयोग करते हैं - और इसलिए, यहां परिवर्तन कहां हुआ? हमारे पास पहली जगह में नई बनाई गई वस्तु नहीं थी, कोई अन्य परिवर्तन तब तक नहीं हुआ जब तक आप "अस्तित्व में आने" पर विचार नहीं करते, हालांकि परिवर्तन स्वयं निरीक्षण किए गए विषय पर नहीं था (या तो बहुत समझ में नहीं आएगा)।
विवेके

तो प्रतिबिंब एक "प्रक्रिया" है जिसमें "आत्मनिरीक्षण" की तुलना में अधिक चरण शामिल हैं। प्रतिबिंब के पक्ष में सम्मोहक तर्क कहां है, फिर भी? एक शब्द के रूप में आत्मनिरीक्षण एक प्रोग्रामिंग संदर्भ में शब्द का प्रतिनिधित्व करने के साथ हाथ में जाता है - जबकि "प्रतिबिंब" - किस तरह से एक निर्देश / प्रकार को प्रतिबिंबित करने का कार्य "आत्मनिरीक्षण" की तुलना में "संशोधित" के करीब है?
विवेके

27

परावर्तन "आत्म-परीक्षा, आत्म-संशोधन, और आत्म-प्रतिकृति" के विचार से आता है, जो परिवर्तन के उद्देश्य के लिए किसी के स्वयं पर प्रतिबिंबित करता है। प्रोग्रामिंग में आप प्रतिबिंब का उपयोग करके कार्यक्रम की संरचना की जांच करने के बजाय केवल इसका उपयोग करने के संदर्भ में करते हैं। आपको जो वापस मिलता है वह उस कार्यक्रम का एक प्रतिनिधित्व है जिसे आप इसे संशोधित करने के लिए उपयोग कर सकते हैं, बजाय उस डेटा के जिस पर यह संचालित होता है।

अधिक जानकारी विकिपीडिया लेख में पाई जा सकती है


आपने उसके सवाल का जवाब बिल्कुल नहीं दिया। आत्मनिरीक्षण: एक भीतर की ओर देखना; विशेष रूप से, स्व-परीक्षा का कार्य या प्रक्रिया।
mmcdole

@Simucal, क्षमा करें मैं अधिक स्पष्ट नहीं था। मैंने उत्तर निर्दिष्ट किया है कि यह कार्रवाई के इरादे से परीक्षा है।
tvanfosson

उसने किया। वह कह रहा है कि शब्द प्रतिबिंब का उपयोग कार्यक्रम में खुद को संशोधित करके परिवर्तनों को प्रतिबिंबित करने की क्षमता के अनुसार किया जाता है।
फिलिप डुपनोविक

1
@ क्रोन, मेरा प्रारंभिक उत्तर उतना विशिष्ट नहीं था।
tvanfosson

मैं अभी भी यह नहीं देख सकता कि यह प्रश्न का उत्तर कैसे देता है: वास्तव में, विकिपीडिया इस प्रकार के आत्मनिरीक्षण में अंतर करने में मदद करता है, यह केवल जानकारी प्राप्त करने के साथ ही इसे "संतुष्ट करता है", इसे बदले बिना (हालांकि फिर से, यह वास्तव में कैसे प्रासंगिक है ... कैसे कई बार हम जाने के समय प्रतिबिंब का उपयोग करते हैं - और इसलिए, यहां परिवर्तन कहां हुआ? हमारे पास पहली जगह में नई बनाई गई वस्तु नहीं थी, कोई अन्य परिवर्तन तब तक नहीं हुआ जब तक आप "अस्तित्व में आने" पर विचार नहीं करते, हालांकि परिवर्तन स्वयं निरीक्षण किए गए विषय पर नहीं था (या तो बहुत समझ में नहीं आएगा)।
विवेके

4

एक और अवधारणा है जिसे टाइप इंट्रोस्पेक्शन कहा जाता है जो रनटाइम पर ऑब्जेक्ट के प्रकार को निर्धारित करने की क्षमता को संदर्भित करता है।

संपादित करें: मुझे पता है कि आपका प्रश्न भाषा-अज्ञेय होना था, लेकिन जावा में, प्रतिबिंब का उपयोग यह पता लगाने के लिए किया जाता है कि किसी सदस्य के पास क्या वस्तु है, जबकि आत्मनिरीक्षण आपको यह पहचानने की अनुमति देता है कि कौन सी जावाबिन गुण किसी वस्तु के पास है, यही कारण है कि आत्मनिरीक्षण वर्ग में है java.beans पैकेज। मुझे यकीन नहीं है कि शर्तों के बीच सटीक अंतर अन्य भाषाओं में क्या होगा, हालांकि,


4

शब्द परावर्तन ब्रायन केंटवेल स्मिथ के 1982 PHD शोध प्रबंध से आया है, जिसे पाया जा सकता है http://publications.csail.mit.edu/lcs/pdf/pdf/MIT-LCS-TR-272.pdf

जिसे प्रतिबिंब कहा जाता है, वह अक्सर आत्मनिरीक्षण है, यानी मेटाडेटा तक पहुंच। प्रतिबिंब के लिए स्मिथ की आवश्यकताओं में मेटाडेटा बैक से एक कारण संबंध शामिल था , और यह आमतौर पर लापता घटक है। प्रतिबिंब की कल्पना करने का एक तरीका कार्यान्वयन तक पहुंच है, और न केवल एक संगणना के कुछ नए उदाहरणों का कार्यान्वयन, बल्कि इसके लिए एक अभिकलन की पहुंच का स्वयं का कार्यान्वयन है। निश्चित रूप से जावा के मूल प्रतिबिंब एपी का नाम गलत था क्योंकि यह इस अर्थ में प्रतिबिंबित नहीं था।


1

.Net में मुझे लगता है कि शब्द परावर्तन बहुत उपयुक्त है क्योंकि यह उस प्रकार का नहीं है जिसकी जांच की गई है, यह कोड का प्रकटन है, जो केवल एक विवरण है।


1

प्रतिबिंब, परिभाषा 3 और 4 के अर्थ में, आत्मनिरीक्षण हो सकता है। यही है, आत्मनिरीक्षण किसी के स्वयं पर प्रतिबिंब है। मुझे लगता है कि आत्मनिरीक्षण कोड का उपयोग करने के लिए बेहतर शब्द है जिसका विश्लेषण खुद करना है क्योंकि यह शब्द अधिक विशिष्ट है, लेकिन मुझे नहीं लगता कि प्रतिबिंब पूरी तरह से अनुचित है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.