रोल-ओरिएंटेड प्रोग्रामिंग

प्रोग्रामिंग भाषा के रूप में भूमिका-उन्मुख प्रोग्रामिंग का उद्देश्य उन वस्तु को व्यक्त करना है जो विश्व की मानवीय वैचारिक ज्ञान के अनुरूप हैं। इससे कार्यक्रमों को समझना और बनाए रखना सरल हो जाना चाहिए।

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

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

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

भूमिका साहित्य के रचयिता

 * बारबरा पर्निसी
 * बेंट ब्रून क्रिस्टेंसन
 * ब्रूस वालेस
 * चार्ल्स बच्चन
 * फ्रेडरिक स्टीमन
 * जॉर्ज गॉटलॉब
 * कैस्पर बी. ग्रेवर्सन
 * कैस्पर Østerbye
 * स्टीफ़न हेरमैन
 * ट्राईग्वे रेंसकॉग
 * थॉमस कुहन

भूमिकाओं के लिए स्पष्ट समर्थन के साथ प्रोग्रामिंग भाषाएं

 * गिरगिट
 * एप्सिलॉनजे
 * JavaScript Delegative|JavaScript डेलिगेशन - भूमिकाओं के रूप में कार्य (लक्षण और मिश्रण)
 * ऑब्जेक्ट टीमें
 * मूस (पर्ल) रोल्स पर्ल (मूस)
 * राकू (प्रोग्रामिंग भाषा) भूमिकाएं
 * powerJava
 * SCala रोल्स लैंग्वेज

यह भी देखें

 * दृष्टिकोण आधारित प्रोग्रामिंग
 * डेटा, संदर्भ और सम्बन्ध
 * ऑब्जेक्ट ओरिएंटेड रोल एनालिसिस मेथड
 * ऑब्जेक्ट-रोल मॉडलिंग
 * विषय (प्रोग्रामिंग)
 * विषय उन्मुख प्रोग्रामिंग
 * लक्षण (कंप्यूटर विज्ञान)

बाहरी संबंध

 * Adaptive Plug-and-Play Components for Evolutionary Software Development, by Mira Mezini and Karl Lieberherr
 * Context Aspect Sensitive Services
 * Overview and taxonomy of Role languages
 * ROPE: Role Oriented Programming Environment for Multiagent Systems