- प्रोग्रामिंग में फ़ंक्शन को "call" करना कहने की अभिव्यक्ति की उत्पत्ति, लाइब्रेरी से किताब को "मंगाने" या "बुलाने" की अवधारणा से मिलती-जुलती है
- शुरुआती कंप्यूटिंग में सब्रूटीन को लाइब्रेरी से summon या call करने का तरीका प्रमुख था
- Fortran II ने
CALL कमांड पेश किया, जिससे "to call a function" वाली अभिव्यक्ति तेज़ी से लोकप्रिय हुई
- बाद में Algol और JOVIAL जैसी भाषाओं ने भी इसे अपनाया और "call" को संज्ञा के रूप में इस्तेमाल करना शुरू किया
- समय के साथ "call" का अर्थ runtime control के पहले, दौरान और बाद तक फैलकर स्थापित हो गया
प्रोग्रामर फ़ंक्शन को "call" क्यों कहते हैं?
- StackExchange पर "फ़ंक्शन को call करना" इस अभिव्यक्ति की उत्पत्ति को लेकर एक सवाल पूछा गया था
- कई उपमाएँ हैं, लेकिन वास्तव में यह "call" के summon करना या बुलाना वाले अर्थ से आया है
- जैसे लाइब्रेरी में किताब "मंगाई" जाती है, वैसे ही सब्रूटीन को "मंगा" कर इस्तेमाल करने से इसकी शुरुआत हुई
- "call number" लाइब्रेरी में किताब की जगह दिखाने वाला संकेत होता है
लाइब्रेरी शब्दावली में "call" का इतिहास
- OED के अनुसार Melvil Dewey ने 1876 में लाइब्रेरी साइंस की शब्दावली में पहली बार "call number" का उपयोग किया
- "call number" किताब की लोकेशन या उसे मंगाने के अनुरोध के लिए इस्तेमाल होने वाला संकेत था
- 1888 के Library Journal में भी "call blank", "call slip", "call number" जैसे शब्द सामान्य रूप से इस्तेमाल हुए
- Joudrey & Taylor की व्याख्या के अनुसार, "call number" नाम बंद शेल्फ़ों से सामग्री मंगाने की क्रिया से आया
- Cutter number जैसी प्रणालियाँ वर्गीकरण के लिए लाई गईं
कंप्यूटर साइंस में "call" के शुरुआती उपयोग
- John W. Mauchly के 1947 के पेपर में सब्रूटीन लाइब्रेरी से सब्रूटीन को "called in" करके इस्तेमाल करने का उदाहरण मिलता है
- संदर्भ यह था कि दर्ज नंबर के ज़रिए उसे जल्दी से रेफ़र कर इस्तेमाल किया जाए
- MANIAC II assembly routine (1956) में भी हर सब्रूटीन को एक "call number" दिया जाता था, जिससे ज़रूरत पड़ने पर उसे बुलाया जा सके
- असली assembly language में इसे "transfer control" कहा जाता था
- उस समय runtime पर होने वाले "call" की तुलना में compile या link समय पर कोड के टुकड़े मंगाने की अवधारणा पर ज़्यादा ज़ोर था
प्रोग्रामिंग भाषाओं में CALL कमांड का आगमन
- Fortran II (1958) ने
CALL और RETURN कमांड पेश किए
- "call for" जैसी क्रिया के रूप में execution control को सब्रूटीन को सौंपा जाता था
CALL कमांड वास्तव में उस syntactic क्रिया को दर्शाता था जिसे "call" कहा गया
- धीरे-धीरे runtime में "control transfer" करने और link/assembly समय पर होने वाली "calling" की क्रिया आपस में धुंधली होकर मिलनी शुरू हो गईं
1960 के दशक में "call" के अर्थ का विस्तार और स्थिर होना
- Sarbacher (1959) की डिक्शनरी में "call in" को main routine से subroutine तक control जाने के रूप में परिभाषित किया गया
- "call number" और "call word" के ज़रिए identifier और call code तक समझाया गया
- JOVIAL (1960) में "procedure call", "calls" आदि आधिकारिक रूप से संज्ञा के रूप में उपयोग हुए
- इसके बाद call site, argument, parameter जैसी बहुस्तरीय अर्थ-परतों के साथ इसका इस्तेमाल हुआ
- Algol (1959~1960) ने भी "procedure call", "called procedure", "during the call" जैसे कई रूपों में call को व्यक्त किया
- Peter Naur की Algol 60 रिपोर्ट में भी "call for" और "during the call" के बीच समयगत अर्थ का भेद दिखता है
- Burroughs Algebraic Compiler (1961) में क्रियात्मक रूप "to call" पहली बार स्पष्ट रूप से दिखाई देता है
- Corbató आदि (1963) के बाद आधुनिक उपयोग "to call a subroutine" सामान्य हो गया
निष्कर्ष
- Fortran II के
CALL X कमांड ने फ़ंक्शन/सब्रूटीन के लिए "call" अभिव्यक्ति को स्थापित करने में निर्णायक भूमिका निभाई
- यह पहले की लाइब्रेरी-आधारित अवधारणा, यानी नंबर से बुलाने, से प्रेरित था, लेकिन प्रोग्रामिंग भाषाओं में इसका नया अर्थ-विस्तार हुआ
- इसके बाद Algol, JOVIAL आदि कई भाषाओं ने "call", "call site" जैसे शब्द अपना लिए
- लगभग 1961 से "to call X" जैसी अभिव्यक्ति औपचारिक प्रोग्राम दस्तावेज़ों और समुदाय में जमने लगी
- आज फ़ंक्शन call का मतलब अस्थायी रूप से control सौंपना, परिणाम लेना और फिर वापस लौटना — इस पूरी प्रक्रिया से है, और 'call' इसका मानक शब्द बन चुका है
1 टिप्पणियां
Hacker News की राय