language agnostic - ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के विकल्प?




language-agnostic oop (4)

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

  • अभ्यास में प्रयोग किया गया है, न केवल सिद्धांत में।
  • ओओपी के साथ प्रतिस्पर्धा कर सकते हैं , इसलिए इसे बिना किसी दर्द के एक बड़ी परियोजना में इस्तेमाल किया जा सकता है।
  • व्यापार तर्क, डेटाबेस, आदि के साथ एक डेस्कटॉप ऐप विकसित करने के लिए इस्तेमाल किया जा सकता है।
  • ओप के साथी के साथ प्रयोग नहीं किया जाता है, लेकिन ओओपी को प्रतिस्थापित कर सकते हैं।

और यदि कोई है, तो इसके पेशेवर / विपक्ष क्या हैं, यह ओओपी से बेहतर / बदतर क्यों है, इसका उपयोग करने के लिए सबसे अच्छी भाषाएं क्या हैं, लोकप्रिय भाषाओं में इसका उपयोग करने के बारे में क्या, इसमें कोई डिज़ाइन पैटर्न है, और क्या यह हो सकता है पूरी तरह से ओओपी की जगह?


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


ओओपी चालू होने से पहले प्रक्रियात्मक प्रसंस्करण सब कुछ था, कुछ बड़े वास्तविक दुनिया अनुप्रयोगों (वास्तव में, उनमें से ज्यादातर मूल रूप से) और कई ऑपरेटिंग सिस्टम का उत्पादन किया है।

यह निश्चित रूप से कम से कम दर्द, और अधिकतम प्रदर्शन के साथ बड़े पैमाने पर उत्पादों में उपयोग किया जा सकता है


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


कार्यात्मक प्रोग्रामिंग एक और प्रोग्रामिंग प्रतिमान है जो लोकप्रिय है, ज्यादातर अकादमिक में। एक कार्यात्मक प्रोग्रामिंग भाषा का सबसे अच्छा उदाहरण Haskell और मानक एमएल है

कार्यात्मक प्रोग्रामिंग और ऑब्जेक्ट उन्मुख प्रोग्रामिंग के बीच मौलिक अंतर यह है कि आप नियंत्रण प्रवाह की बजाय डेटा प्रवाह की भावना में प्रोग्रामिंग कर रहे हैं। एक अच्छा परिचय के लिए साइमन पेटन-जोन्स द्वारा कार्यात्मक प्रोग्रामिंग के साथ प्रस्तुतिकरण टमिंग प्रभाव देखें।

उद्योग में प्रयुक्त कार्यात्मक प्रोग्रामिंग का एक अच्छा उदाहरण Erlang । इसका ज्यादातर दूरसंचार, वितरित और गलती सहनशील प्रणालियों में उपयोग किया जाता है। प्रस्तुति Erlang - जो आर्मस्ट्रांग द्वारा एक समवर्ती दुनिया के लिए सॉफ्टवेयर देखें।

नई कार्यात्मक प्रोग्रामिंग भाषाएं भी हैं जो ओओपी के साथ कार्यात्मक प्रोग्रामिंग को जोड़ती हैं। जावा प्लेटफ़ॉर्म के लिए .NET प्लेटफ़ॉर्म और Scala लिए दो अच्छे उदाहरण F# हैं; वे अक्सर अन्य भाषाओं में लिखे मंच पर मौजूदा पुस्तकालयों का उपयोग कर सकते हैं।

नई प्रोग्रामिंग भाषाओं की प्रवृत्ति अब Multi-paradigm , जहां ऑब्जेक्ट उन्मुख प्रोग्रामिंग और कार्यात्मक प्रोग्रामिंग जैसे कई प्रतिमान एक ही भाषा में संयुक्त होते हैं।





paradigms