उच्च-क्रम प्रोग्रामिंग

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

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

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

यह भी देखें

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

बाहरी संबंध

 * "Higher Order Programming" by Sjoerd Visscher (Uses JavaScript as example language)