कुशल और सफल प्रोग्रामिंग इंटरनेट पर पाई जाने वाली अधिकांश चीज़ों का आधार बनती है। विभिन्न पद्धतियों का एकमात्र उद्देश्य यह सुनिश्चित करना है कि कोड समझने योग्य, प्रबंधनीय हो और किसी भी बग से मुक्त हो।
दो सबसे सामान्य और आवश्यक प्रोग्रामिंग पद्धतियाँ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और फ़ंक्शनल प्रोग्रामिंग हैं।
चाबी छीन लेना
- ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) ऑब्जेक्ट और उनके इंटरैक्शन के आसपास कोड व्यवस्थित करता है, जबकि कार्यात्मक प्रोग्रामिंग फ़ंक्शंस और डेटा अपरिवर्तनीयता पर केंद्रित है।
- ओओपी एनकैप्सुलेशन और इनहेरिटेंस को बढ़ावा देता है, कोड के पुन: उपयोग और मॉड्यूलरिटी की सुविधा प्रदान करता है, जबकि कार्यात्मक प्रोग्रामिंग शुद्ध कार्यों पर जोर देती है और साइड इफेक्ट को कम करती है।
- कार्यात्मक प्रोग्रामिंग समानांतर प्रसंस्करण और गणितीय गणनाओं के लिए अधिक अनुकूल है, जबकि ओओपी वास्तविक दुनिया के परिदृश्यों के मॉडलिंग के लिए अवधारणा बनाना आसान है।
ओओपी बनाम कार्यात्मक प्रोग्रामिंग
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) एक प्रोग्रामिंग प्रतिमान है जो उन वस्तुओं के निर्माण पर जोर देता है जिनमें गुण और विधियां होती हैं। आधुनिक प्रोग्रामिंग भाषाओं में इसका व्यापक रूप से उपयोग किया जाता है। कार्यात्मक प्रोग्रामिंग एक अन्य प्रोग्रामिंग प्रतिमान है जो डेटा में हेरफेर करने वाले कार्यों को लिखने पर केंद्रित है।
OOP का मतलब ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग है। यह प्रोग्रामिंग की एक वैचारिक तकनीक है जो कुंजी के रूप में वस्तुओं के उपयोग पर काम करती है।
OOP की मुख्य विशेषताएं हैं अमूर्तता, वंशानुक्रम, बहुरूपता, और इनकैप्सुलेशन।
दूसरी ओर, कार्यात्मक प्रोग्रामिंग कार्यात्मक कारकों के साथ प्रोग्रामिंग की एक तकनीक है और कार्यक्रमों के निर्माण और कार्यान्वयन पर जोर देती है। कार्यात्मक प्रोग्रामिंग के आधार में शुद्ध फ़ंक्शन, टाइप सिस्टम, उच्च ऑर्डर फ़ंक्शंस, रिकर्सन, रेफरेंशियल पारदर्शिता और सख्त और गैर-सख्त मूल्यांकन जैसी विभिन्न अवधारणाएं हैं।
तुलना तालिका
तुलना के पैरामीटर | OOP | कार्यात्मक प्रोग्रामिंग |
---|---|---|
परिभाषा | यह एक प्रोग्रामिंग प्रतिमान है जो वस्तु-उन्मुख अवधारणा पर जोर देता है | यह एक प्रोग्रामिंग प्रतिमान है जो विशिष्ट कार्यों को करने के लिए फ़ंक्शन के उपयोग पर जोर देता है |
महत्व | OOP डेटा को महत्व देता है न कि प्रक्रियाओं को | कार्यात्मक प्रोग्रामिंग डेटा को नहीं बल्कि कार्यों को महत्व देती है |
समानांतर प्रोग्रामिंग | OOP में समानांतर प्रोग्रामिंग समर्थित नहीं है | कार्यात्मक प्रोग्रामिंग में समानांतर प्रोग्रामिंग समर्थित है |
डेटा छिपाना | OOP में डेटा छुपाने की सुविधा होती है और सुरक्षित प्रोग्राम बनाये जा सकते हैं | कार्यात्मक प्रोग्रामिंग कोई डेटा छिपाने की सुविधा नहीं देती है और इसलिए कोई सुरक्षा भी प्रदान नहीं की जाती है |
नए डेटा का एकीकरण | नए डेटा और फ़ंक्शंस का जोड़ और एकीकरण एक आसान प्रक्रिया के माध्यम से किया जा सकता है | कार्यात्मक प्रोग्रामिंग में नए डेटा और फ़ंक्शंस का जोड़ और एकीकरण मुश्किल है |
ओओपी क्या है?
OOP ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का अल्पावधि है। यह प्रोग्रामिंग का एक प्रतिमान है जो पूरी तरह से वस्तुओं की अवधारणा पर आधारित है।
OOP में डेटा को गुणों और विशेषताओं के रूप में शामिल किया जा सकता है जिन्हें आमतौर पर फ़ील्ड के रूप में भी जाना जाता है। कोड विधियों या प्रक्रियाओं के रूप में निहित है।
ऑब्जेक्ट में एक विशिष्ट विशेषता डेटा फ़ील्ड के लिए ऑब्जेक्ट की प्रक्रियाओं तक पहुंच और संशोधन की पेशकश है।
OOP ने वस्तुओं के साथ प्रोग्राम डिज़ाइन किया है और यहां तक कि एक दूसरे के साथ बातचीत भी कर सकते हैं। OOP में भाषाएँ विविध हैं।
OOP की सबसे लोकप्रिय भाषाएँ वर्ग-आधारित हैं जिसका सीधा सा मतलब है कि वस्तुएँ वर्ग के उदाहरण हैं। यह प्रकारों के लिए एक निर्धारण कारक भी बन जाता है।
OOP प्रोग्रामर को पहचानने और हेरफेर करने के लिए वस्तुओं को एकत्रित करता है।
ऐसी कई प्रोग्रामिंग भाषाएं हैं जो OOP को सपोर्ट करती हैं जैसे Java, C++, Python, Visual Basic.NET, MATLAB, ऑब्जेक्टिव-C, SIMSCRIPT, ऑब्जेक्ट पास्कल, स्मॉलटॉक, कॉमन लिस्प और अन्य। वे बहु-प्रतिमान बनाते हैं।
सिमुला की शुरूआत ने OOP का आधार बनाया। यह प्रोग्रामिंग भाषा मुख्य रूप से OOP के भौतिक मॉडलिंग में शामिल थी।
OOP की दो सबसे संगत भाषाएँ रूबी और पायथन हैं। डेटा एब्स्ट्रैक्शन के लिए दोनों भाषाएँ फायदेमंद हैं।
OOP उन डेवलपर्स के लिए उपयोगी है जिनका हेरफेर करने का इरादा है और उन्हें ऑब्जेक्ट में हेरफेर करने के लिए तर्क की आवश्यकता नहीं है। प्रोग्रामिंग का प्रकार नियमित रखरखाव के साथ जटिल बड़े और सक्रिय रूप से अद्यतन कार्यक्रमों के लिए सबसे उपयुक्त है।
इसमें डिजाइनिंग विनिर्माण और यहां तक कि मोबाइल एप्लिकेशन के लिए प्रोग्राम भी शामिल हैं जो सिमुलेशन सॉफ्टवेयर के तहत काम करते हैं।
कार्यात्मक प्रोग्रामिंग क्या है?
कार्यात्मक प्रोग्रामिंग प्रोग्रामिंग का एक प्रतिमान है जो फ़ंक्शंस की रचना और अनुप्रयोग द्वारा प्रोग्राम का निर्माण करता है। प्रोग्रामिंग प्रकार घोषणात्मक है जहां कार्यों की परिभाषा अभिव्यक्ति के पेड़ हैं और इसमें अनिवार्य कथनों का कोई क्रम नहीं है।
परिभाषाएँ मानों को अन्य मानों पर मैप करती हैं। कार्यात्मक प्रोग्रामिंग में कार्यों का उपचार प्रथम श्रेणी के नागरिकों के रूप में होता है।
कार्यात्मक प्रोग्रामिंग में प्रोग्राम ऐसी शैली में लिखे जाते हैं जो रचना योग्य, घोषणात्मक होते हैं और इसमें मॉड्यूलर तरीके से छोटे कार्यों का संयोजन होता है। प्रोग्रामिंग प्रकार को विशुद्ध रूप से कार्यात्मक प्रोग्रामिंग का पर्याय माना जाता है।
विशुद्ध रूप से कार्यात्मक प्रोग्रामिंग को कार्यात्मक प्रोग्रामिंग का एक सबसेट माना जाता है। फ़ंक्शंस का उपचार शुद्ध फ़ंक्शंस या नियतात्मक गणितीय फ़ंक्शंस के रूप में होता है।
कार्यात्मक प्रोग्रामिंग की जड़ें मुख्य रूप से अकादमिक क्षेत्र में हैं जो लैम्ब्डा कैलकुलस से विकसित हुई हैं। इतिहास में कार्यात्मक प्रोग्रामिंग की लोकप्रियता तुलनात्मक रूप से अनिवार्य प्रोग्रामिंग से कम है।
हालाँकि वर्तमान समय में कार्यात्मक प्रोग्रामिंग का उपयोग मुख्य रूप से शिक्षा और उद्योग में किया जाता है। उदाहरण - हास्केल, कॉमन लिस्प, रैकेट, वोल्फ्राम लैंग्वेज, एफ#, स्कीम, एर्लैंग, क्लोजर, ओकैमल और एलिक्सिर।
सांख्यिकी में आर जैसी कार्यात्मक प्रोग्रामिंग के कारण विभिन्न भाषाएँ विशिष्ट डोमेन में सफल हुई हैं। XQuery या एक्सएमएल के लिए एक्सएसएलटी, वेब में जावास्क्रिप्ट, वित्तीय विश्लेषण में जे, के, और क्यू, और अन्य। अन्य डोमेन-विशिष्ट घोषणात्मक भाषाएँ कार्यात्मक प्रोग्रामिंग से कुछ तत्वों का उपयोग करती हैं।
कई भाषाओं ने कार्यात्मक प्रोग्रामिंग सुविधाओं को लागू किया है या कार्यात्मक-शैली प्रोग्रामिंग का समर्थन किया है। उदाहरण - C++11, PHP, Java (चूंकि) जावा 8), कोटलिन, गो, पर्ल, रस्ट, स्काला, सी#, राकू, और अन्य।
OOP और कार्यात्मक प्रोग्रामिंग के बीच मुख्य अंतर
- OOP में पुनरावृत्ति लूप के उपयोग द्वारा की जाती है जबकि कार्यात्मक प्रोग्रामिंग में पुनरावृत्ति पुनरावृत्ति के उपयोग द्वारा की जाती है।
- OOP के मूल तत्व विधियाँ और ऑब्जेक्ट हैं जबकि कार्यात्मक प्रोग्रामिंग के मूल तत्व चर और फ़ंक्शन हैं।
- OOP में डेटा परिवर्तनशील रूप में होता है जबकि कार्यात्मक प्रोग्रामिंग में डेटा परिवर्तनशील रूप में होता है।
- OOP का प्रोग्रामिंग मॉडल एक अनिवार्य प्रोग्रामिंग मॉडल है जबकि फ़ंक्शनल प्रोग्रामिंग का प्रोग्रामिंग मॉडल एक घोषणात्मक प्रोग्रामिंग मॉडल है।
- OOP में तीन एक्सेस स्पेसिफायर का प्रावधान है जो निजी, सार्वजनिक और संरक्षित हैं, जबकि कार्यात्मक प्रोग्रामिंग में किसी एक्सेस स्पेसिफायर का प्रावधान नहीं है।
- http://www.eecs.ucf.edu/~leavens/ComS541-Schmidt/general-information/reserve-list.ps.gz
- https://projecteuclid.org/journals/statistical-science/volume-29/issue-2/Object-Oriented-Programming-Functional-Programming-and-R/10.1214/13-STS452.short
अंतिम अद्यतन: 13 जुलाई, 2023
संदीप भंडारी ने थापर विश्वविद्यालय (2006) से कंप्यूटर में इंजीनियरिंग में स्नातक की उपाधि प्राप्त की है। उनके पास प्रौद्योगिकी क्षेत्र में 20 वर्षों का अनुभव है। उन्हें डेटाबेस सिस्टम, कंप्यूटर नेटवर्क और प्रोग्रामिंग सहित विभिन्न तकनीकी क्षेत्रों में गहरी रुचि है। आप उनके बारे में और अधिक पढ़ सकते हैं जैव पृष्ठ.