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

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

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

यह भी देखें

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

बाहरी संबंध

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