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