उच्च-क्रम प्रोग्रामिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
हायर-ऑर्डर प्रोग्रामिंग [[कंप्यूटर प्रोग्रामिंग]] की एक शैली है जो सॉफ़्टवेयर घटकों, जैसे फ़ंक्शंस, मॉड्यूल या ऑब्जेक्ट, को मानों के रूप में उपयोग करती है। यह आमतौर पर लैम्ब्डा कैलकुस जैसे गणना के मॉडल के साथ तत्काल या उधार लिया जाता है, जो उच्च-क्रम के कार्यों का भारी उपयोग करता है। एक प्रोग्रामिंग भाषा को उच्च-क्रम माना जा सकता है यदि घटक, जैसे प्रक्रियाएं या लेबल, डेटा की तरह ही उपयोग किए जा सकते हैं। उदाहरण के लिए, इन तत्वों का उपयोग तर्कों या मूल्यों के समान ही किया जा सकता है।<ref>{{Cite report| author = Reynolds, John C. | title = Proceedings of the ACM annual conference on - ACM '72 | chapter = Definitional Interpreters for Higher-Order Programming Languages | year = 1972 | volume = 2 | pages = 717–740 | isbn = 9781450374927 | publisher = Association for Computing Machinery | chapter-url = https://www.classes.cs.uchicago.edu/archive/2007/fall/22100-1/papers/definterp.pdf | doi = 10.1145/800194.805852 | access-date = December 19, 2021 }}</ref>
उच्च-क्रम प्रोग्रामिंग [[कंप्यूटर प्रोग्रामिंग]] की एक शैली है जो सॉफ़्टवेयर घटकों, जैसे फ़ंक्शंस, मॉड्यूल या ऑब्जेक्ट, को मानों के रूप में उपयोग करती है। यह सामान्यतः लैम्ब्डा गणना जैसे गणना के मॉडल के साथ तत्काल या उधार लिया जाता है, जो उच्च-क्रम के कार्यों का भारी उपयोग करता है। एक प्रोग्रामिंग भाषा को उच्च-क्रम माना जा सकता है यदि घटक, जैसे प्रक्रियाएं या लेबल, डेटा की तरह ही उपयोग किए जा सकते हैं। उदाहरण के लिए, इन तत्वों का उपयोग तर्कों या मूल्यों के समान ही किया जा सकता है।<ref>{{Cite report| author = Reynolds, John C. | title = Proceedings of the ACM annual conference on - ACM '72 | chapter = Definitional Interpreters for Higher-Order Programming Languages | year = 1972 | volume = 2 | pages = 717–740 | isbn = 9781450374927 | publisher = Association for Computing Machinery | chapter-url = https://www.classes.cs.uchicago.edu/archive/2007/fall/22100-1/papers/definterp.pdf | doi = 10.1145/800194.805852 | access-date = December 19, 2021 }}</ref>
उदाहरण के लिए, उच्च-क्रम प्रोग्रामिंग में, कोई फ़ंक्शन (प्रोग्रामिंग) को अन्य कार्यों के लिए तर्क के रूप में पारित कर सकता है और फ़ंक्शन अन्य कार्यों का रिटर्न मान हो सकता है (जैसे कि [[मैक्रो (कंप्यूटर विज्ञान)]] या [[दुभाषिया (कंप्यूटिंग)]] के लिए)। प्रोग्रामिंग की यह शैली ज्यादातर [[कार्यात्मक प्रोग्रामिंग]] में उपयोग की जाती है, लेकिन यह [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग]] में भी बहुत उपयोगी हो सकती है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के संदर्भ में उच्च-क्रम प्रोग्रामिंग की थोड़ी अलग व्याख्या उच्च क्रम संदेश हैं, जो संदेशों को कार्यों के बजाय तर्क के रूप में अन्य संदेश देते हैं।
 
उदाहरण के लिए, उच्च-क्रम प्रोग्रामिंग में, कोई फ़ंक्शन (प्रोग्रामिंग) को अन्य कार्यों के लिए तर्क के रूप में पारित कर सकता है और फ़ंक्शन अन्य कार्यों का वापसी  मान हो सकता है (जैसे कि [[मैक्रो (कंप्यूटर विज्ञान)]] या [[दुभाषिया (कंप्यूटिंग)]] के लिए)। प्रोग्रामिंग की यह शैली ज्यादातर [[कार्यात्मक प्रोग्रामिंग]] में उपयोग की जाती है, किन्तु यह [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |वस्तु के उन्मुख प्रोग्रामिंग]] में भी बहुत उपयोगी हो सकती है। वस्तु के उन्मुख प्रोग्रामिंग के संदर्भ में उच्च-क्रम प्रोग्रामिंग की थोड़ी अलग व्याख्या उच्च क्रम संदेश हैं, जो संदेशों को कार्यों के अतिरिक्त तर्क के रूप में अन्य संदेश देते हैं।


इसका समर्थन करने वाली भाषाओं के प्रमुख उदाहरण हैं [[ वोल्फ्राम भाषा |वोल्फ्राम भाषा]] , सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी #, [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] , ईसीएमएस्क्रिप्ट ([[एकमा स्क्रिप्ट]], [[जावास्क्रिप्ट]], [[जेस्क्रिप्ट]]), एफ शार्प (प्रोग्रामिंग लैंग्वेज) | एफ #, [[ हास्केल (प्रोग्रामिंग भाषा) |हास्केल (प्रोग्रामिंग भाषा)]] , [[ लिस्प (प्रोग्रामिंग भाषा) |लिस्प (प्रोग्रामिंग भाषा)]] ([[ सामान्य लिस्प ]], स्कीम (प्रोग्रामिंग लैंग्वेज), [[क्लोजर]], अन्य), [[ लुआ (प्रोग्रामिंग भाषा) |लुआ (प्रोग्रामिंग भाषा)]] , [[ ओज (प्रोग्रामिंग भाषा) |ओज (प्रोग्रामिंग भाषा)]] , [[पर्ल]], [[पीएचपी]], [[प्रोलॉग]],<ref name=Naish1996>{{Cite report | title = प्रोलॉग में उच्च-क्रम तर्क प्रोग्रामिंग| year = 1996 | author = Naish, Lee | publisher = Department of Computer Science, University of Melbourne |citeseerx = 10.1.1.35.4505}}</ref> पायथन (प्रोग्रामिंग लैंग्वेज), [[ रूबी (प्रोग्रामिंग भाषा) |रूबी (प्रोग्रामिंग भाषा)]] , स्मॉलटाक, [[ स्काला (प्रोग्रामिंग भाषा) |स्काला (प्रोग्रामिंग भाषा)]] , [[ एमएल (प्रोग्रामिंग भाषा) |एमएल (प्रोग्रामिंग भाषा)]] , और [[ Erlang (प्रोग्रामिंग भाषा) |Erlang (प्रोग्रामिंग भाषा)]] ।
इसका समर्थन करने वाली भाषाओं के प्रमुख उदाहरण हैं [[ वोल्फ्राम भाषा |वोल्फ्राम भाषा]] , सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी #, [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] , ईसीएमएस्क्रिप्ट ([[एकमा स्क्रिप्ट]], [[जावास्क्रिप्ट]], [[जेस्क्रिप्ट]]), एफ शार्प (प्रोग्रामिंग लैंग्वेज) | एफ #, [[ हास्केल (प्रोग्रामिंग भाषा) |हास्केल (प्रोग्रामिंग भाषा)]] , [[ लिस्प (प्रोग्रामिंग भाषा) |लिस्प (प्रोग्रामिंग भाषा)]] ([[ सामान्य लिस्प ]], स्कीम (प्रोग्रामिंग लैंग्वेज), [[क्लोजर]], अन्य), [[ लुआ (प्रोग्रामिंग भाषा) |लुआ (प्रोग्रामिंग भाषा)]] , [[ ओज (प्रोग्रामिंग भाषा) |ओज (प्रोग्रामिंग भाषा)]] , [[पर्ल]], [[पीएचपी]], [[प्रोलॉग]],<ref name=Naish1996>{{Cite report | title = प्रोलॉग में उच्च-क्रम तर्क प्रोग्रामिंग| year = 1996 | author = Naish, Lee | publisher = Department of Computer Science, University of Melbourne |citeseerx = 10.1.1.35.4505}}</ref> पायथन (प्रोग्रामिंग लैंग्वेज), [[ रूबी (प्रोग्रामिंग भाषा) |रूबी (प्रोग्रामिंग भाषा)]] , स्मॉलटाक, [[ स्काला (प्रोग्रामिंग भाषा) |स्काला (प्रोग्रामिंग भाषा)]] , [[ एमएल (प्रोग्रामिंग भाषा) |एमएल (प्रोग्रामिंग भाषा)]] , और [[ Erlang (प्रोग्रामिंग भाषा) |Erlang (प्रोग्रामिंग भाषा)]] ।

Revision as of 01:05, 19 May 2023

उच्च-क्रम प्रोग्रामिंग कंप्यूटर प्रोग्रामिंग की एक शैली है जो सॉफ़्टवेयर घटकों, जैसे फ़ंक्शंस, मॉड्यूल या ऑब्जेक्ट, को मानों के रूप में उपयोग करती है। यह सामान्यतः लैम्ब्डा गणना जैसे गणना के मॉडल के साथ तत्काल या उधार लिया जाता है, जो उच्च-क्रम के कार्यों का भारी उपयोग करता है। एक प्रोग्रामिंग भाषा को उच्च-क्रम माना जा सकता है यदि घटक, जैसे प्रक्रियाएं या लेबल, डेटा की तरह ही उपयोग किए जा सकते हैं। उदाहरण के लिए, इन तत्वों का उपयोग तर्कों या मूल्यों के समान ही किया जा सकता है।[1]

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

इसका समर्थन करने वाली भाषाओं के प्रमुख उदाहरण हैं वोल्फ्राम भाषा , सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी #, जावा (प्रोग्रामिंग भाषा) , ईसीएमएस्क्रिप्ट (एकमा स्क्रिप्ट, जावास्क्रिप्ट, जेस्क्रिप्ट), एफ शार्प (प्रोग्रामिंग लैंग्वेज) | एफ #, हास्केल (प्रोग्रामिंग भाषा) , लिस्प (प्रोग्रामिंग भाषा) (सामान्य लिस्प , स्कीम (प्रोग्रामिंग लैंग्वेज), क्लोजर, अन्य), लुआ (प्रोग्रामिंग भाषा) , ओज (प्रोग्रामिंग भाषा) , पर्ल, पीएचपी, प्रोलॉग,[2] पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग भाषा) , स्मॉलटाक, स्काला (प्रोग्रामिंग भाषा) , एमएल (प्रोग्रामिंग भाषा) , और Erlang (प्रोग्रामिंग भाषा)

यह भी देखें

  • प्रोलॉग # उच्च क्रम प्रोग्रामिंग
  • उच्च क्रम तर्क प्रोग्रामिंग

संदर्भ

  1. Reynolds, John C. (1972). "Definitional Interpreters for Higher-Order Programming Languages" (PDF). Proceedings of the ACM annual conference on - ACM '72 (Report). Vol. 2. Association for Computing Machinery. pp. 717–740. doi:10.1145/800194.805852. ISBN 9781450374927. Retrieved December 19, 2021.
  2. Naish, Lee (1996). प्रोलॉग में उच्च-क्रम तर्क प्रोग्रामिंग (Report). Department of Computer Science, University of Melbourne. CiteSeerX 10.1.1.35.4505.


बाहरी संबंध