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

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

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

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

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

रोल साहित्य के रचयिता

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

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

 * गिरगिट
 * एप्सिलॉनजे
 * डेलिगेशन - रोलओं के रूप में कार्य (लक्षण और मिश्रण)
 * ऑब्जेक्ट टीमें
 * मूस (पर्ल) रोल्स पर्ल (मूस)
 * राकू (प्रोग्रामिंग भाषा) रोलएं
 * 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