ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में "मेथड" एक विशेष शब्द है। क्या किसी को पता है कि इस शब्द का इस्तेमाल इस विशेष अर्थ में कब और किस प्रोग्रामिंग भाषा या मात्रात्मक सीखने की अन्य शाखा के संबंध में किया जाने लगा?
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में "मेथड" एक विशेष शब्द है। क्या किसी को पता है कि इस शब्द का इस्तेमाल इस विशेष अर्थ में कब और किस प्रोग्रामिंग भाषा या मात्रात्मक सीखने की अन्य शाखा के संबंध में किया जाने लगा?
जवाबों:
जावा और सी # को सी ++ से विधि मिली , जो इसे सिमुला से मिली ।
और अल्गोल का शायद सिमाला पर प्रभाव था :
इसके अलावा, MIT ALGOL संस्करण, AED-0, लिंक किए गए डेटा स्ट्रक्चर्स ("plexes", उस बोली में) प्रक्रियाओं के साथ सीधे, प्रीफ़्यूरिंग जो बाद में "मैसेज", "मेथड्स" और "मेम्बर फ़ंक्शंस" कहे गए
यह निश्चित रूप से पता लगाने के लिए कठिन है, लेकिन चीजों को संदर्भित करने वाली पहली भाषा है क्योंकि विधियों में सिमूला प्रतीत होता है, हालांकि यह अच्छी तरह से गलत या पूर्वव्यापी हो सकता है। यह देखते हुए कि फ़ंक्शन (गणित से) और प्रक्रियाएं (गणित से भी) प्रोग्रामिंग भाषाओं में दिखाई देती हैं, सबसे अच्छा मैं यह समझ सकता हूं कि "मेथड" "मेथोडोलॉजी" के लिए संक्षिप्त रूप है।
ये सभी सबरूटीन्स हैं, एक कंप्यूटर प्रोग्राम बनाने वाले कोड के बिट्स हैं। मुझे लगता है कि "विधि" को चुना गया था क्योंकि OOP शैली प्रोग्रामिंग के पीछे का विचार कोड का पुन: उपयोग करना है। इस प्रकार, आपके पास एक प्रक्रिया हो सकती है लेकिन एक विधि इसे और अधिक स्पष्ट करती है कि यह काम पर एक नई शैली है। ईमानदारी से, मुझे विधियों को कॉल करने के लिए जाना जाता है और मैंने फ़ंक्शन को विधि कहा जाता है।
void
। C ++ के सदस्य कार्य सामान्य कार्यों (सिमूला के विपरीत) से बहुत निकट से संबंधित हैं - एक निहित this
पैरामीटर और (संभवतः) एक रनटाइम डिस्पैच तंत्र वास्तव में वह नहीं बदलता है जो आप के साथ काम कर रहे हैं। मुझे नहीं पता कि क्या C पहली बार फ़ंक्शन और प्रक्रियाओं को एक ही चीज़ के रूप में मानता है, लेकिन पास्कल (एक नई भाषा) के पास function
और procedure
कीवर्ड हैं - हालांकि IIRC, पास्कल फ़ंक्शन के दुष्प्रभाव हो सकते हैं।
मैं दशकों से इस पर जानकारी की तलाश कर रहा हूं। मेरा अब तक का अनुमान है कि यह शब्द संख्यात्मक अभिकलन के विशेष उपक्षेत्र से सिमुला में आया था, जहाँ किसी कार्य को कार्यान्वित करने के लिए विशिष्ट एल्गोरिथ्म (जैसे, एक स्वदेशी या जो भी) को अक्सर एक विधि कहा जाता है । ऐसा इसलिए है क्योंकि आपके पास विभिन्न ट्रेडऑफ़ के साथ एक ही गणितीय फ़ंक्शन की गणना के लिए विभिन्न भिन्न संख्यात्मक तरीके हो सकते हैं । ओओपी में, विधि ओवरराइडिंग के कारण, आपके पास "समान" फ़ंक्शन हो सकता है जो वर्ग के लिए उपयुक्त रूप से कार्यान्वित किया जाता है - उदाहरण के लिए, क्षेत्र को सर्कल और आयत के लिए अलग-अलग तरीके से लागू किया जाएगा , जो दोनों आकार हैं , जिसका एक क्षेत्र है। यह संख्यात्मक पद्धति की पारंपरिक अवधारणा का एक उचित विस्तार लगता है।
मुझे ओओपी इतिहास में इस शब्द की व्युत्पत्ति के बारे में कुछ भी पता नहीं है। लेकिन मुझे पता है कि यह नहीं है deductional (deducable)। इसके लिए एक बेहतर टर्म (एक अधिक डिडक्टेशनल टर्म या एमडीटी) प्रतिक्रिया या कार्य हो सकता है
REAL BASIC, VBx और VB.net बैकग्राउंड वाले प्रोग्रामर दो प्रकार के विधि घोषणाओं के बारे में जानते हैं "FUNCTION" & "SUB"। भाषाओं का मूल परिवार "समारोह" कीवर्ड के साथ-साथ "SUB" कीवर्ड के साथ एक फ़ंक्शन घोषित करने की अनुमति देता है। इन दोनों के बीच का अंतर यह है कि एक "FUNCTION" एक मान को वापस नहीं कर सकता है या जहां "SUB" के रूप में, कोड को निष्पादित करता है, लेकिन किसी भी मूल्य को वापस नहीं करेगा। लेकिन OO अवधारणाओं के आगमन के साथ, शर्तों उप और फ़ंक्शन का उपयोग तरीकों के रूप में परस्पर उपयोग किया जाने लगा है।