उच्च-क्रम प्रोग्रामिंग: Difference between revisions
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 (प्रोग्रामिंग भाषा) ]]। | इसका समर्थन करने वाली भाषाओं के प्रमुख उदाहरण हैं [[ वोल्फ्राम भाषा |वोल्फ्राम भाषा]] , सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी #, [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] , ईसीएमएस्क्रिप्ट ([[एकमा स्क्रिप्ट]], [[जावास्क्रिप्ट]], [[जेस्क्रिप्ट]]), एफ शार्प (प्रोग्रामिंग लैंग्वेज) | एफ #, [[ हास्केल (प्रोग्रामिंग भाषा) |हास्केल (प्रोग्रामिंग भाषा)]] , [[ लिस्प (प्रोग्रामिंग भाषा) |लिस्प (प्रोग्रामिंग भाषा)]] ([[ सामान्य लिस्प ]], स्कीम (प्रोग्रामिंग लैंग्वेज), [[क्लोजर]], अन्य), [[ लुआ (प्रोग्रामिंग भाषा) |लुआ (प्रोग्रामिंग भाषा)]] , [[ ओज (प्रोग्रामिंग भाषा) |ओज (प्रोग्रामिंग भाषा)]] , [[पर्ल]], [[पीएचपी]], [[प्रोलॉग]],<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 00:56, 19 May 2023
हायर-ऑर्डर प्रोग्रामिंग कंप्यूटर प्रोग्रामिंग की एक शैली है जो सॉफ़्टवेयर घटकों, जैसे फ़ंक्शंस, मॉड्यूल या ऑब्जेक्ट, को मानों के रूप में उपयोग करती है। यह आमतौर पर लैम्ब्डा कैलकुस जैसे गणना के मॉडल के साथ तत्काल या उधार लिया जाता है, जो उच्च-क्रम के कार्यों का भारी उपयोग करता है। एक प्रोग्रामिंग भाषा को उच्च-क्रम माना जा सकता है यदि घटक, जैसे प्रक्रियाएं या लेबल, डेटा की तरह ही उपयोग किए जा सकते हैं। उदाहरण के लिए, इन तत्वों का उपयोग तर्कों या मूल्यों के समान ही किया जा सकता है।[1] उदाहरण के लिए, उच्च-क्रम प्रोग्रामिंग में, कोई फ़ंक्शन (प्रोग्रामिंग) को अन्य कार्यों के लिए तर्क के रूप में पारित कर सकता है और फ़ंक्शन अन्य कार्यों का रिटर्न मान हो सकता है (जैसे कि मैक्रो (कंप्यूटर विज्ञान) या दुभाषिया (कंप्यूटिंग) के लिए)। प्रोग्रामिंग की यह शैली ज्यादातर कार्यात्मक प्रोग्रामिंग में उपयोग की जाती है, लेकिन यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में भी बहुत उपयोगी हो सकती है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के संदर्भ में उच्च-क्रम प्रोग्रामिंग की थोड़ी अलग व्याख्या उच्च क्रम संदेश हैं, जो संदेशों को कार्यों के बजाय तर्क के रूप में अन्य संदेश देते हैं।
इसका समर्थन करने वाली भाषाओं के प्रमुख उदाहरण हैं वोल्फ्राम भाषा , सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी #, जावा (प्रोग्रामिंग भाषा) , ईसीएमएस्क्रिप्ट (एकमा स्क्रिप्ट, जावास्क्रिप्ट, जेस्क्रिप्ट), एफ शार्प (प्रोग्रामिंग लैंग्वेज) | एफ #, हास्केल (प्रोग्रामिंग भाषा) , लिस्प (प्रोग्रामिंग भाषा) (सामान्य लिस्प , स्कीम (प्रोग्रामिंग लैंग्वेज), क्लोजर, अन्य), लुआ (प्रोग्रामिंग भाषा) , ओज (प्रोग्रामिंग भाषा) , पर्ल, पीएचपी, प्रोलॉग,[2] पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग भाषा) , स्मॉलटाक, स्काला (प्रोग्रामिंग भाषा) , एमएल (प्रोग्रामिंग भाषा) , और Erlang (प्रोग्रामिंग भाषा) ।
यह भी देखें
- प्रोलॉग # उच्च क्रम प्रोग्रामिंग
- उच्च क्रम तर्क प्रोग्रामिंग
संदर्भ
- ↑ 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.
- ↑ Naish, Lee (1996). प्रोलॉग में उच्च-क्रम तर्क प्रोग्रामिंग (Report). Department of Computer Science, University of Melbourne. CiteSeerX 10.1.1.35.4505.
बाहरी संबंध
- "Higher Order Programming" by Sjoerd Visscher (Uses JavaScript as example language)