ए. प्रक्रिया-उन्मुख प्रोग्रामिंग (पीओपी) की सीमाएँ:
पारंपरिक प्रक्रिया-उन्मुख प्रोग्रामिंग (सी, पास्कल, बेसिक और फोरट्रान द्वारा उदाहरण दिया गया) में, मौलिक डिजाइन दर्शन प्रक्रियाओं, फंक्शन, और एल्गोरिदम के आसपास घूमता है। कार्यक्रम की कल्पना रैखिक या मॉड्यूलर रूप से निष्पादित किए जाने वाले कम्प्यूटेशनल चरणों के अनुक्रम के रूप में की गई है।
- डेटा भेद्यता: POP में, डेटा को एक द्वितीयक निष्क्रिय इकाई के रूप में माना जाता है। महत्वपूर्ण डेटा आइटम विश्व स्तर पर घोषित किए जाते हैं ताकि कई फ़ंक्शन उन तक पहुंच सकें। नतीजतन, कोई भी दुष्ट फ़ंक्शन अनजाने में वैश्विक चर को संशोधित या भ्रष्ट कर सकता है, जिससे विनाशकारी सॉफ़्टवेयर विफलताएं हो सकती हैं जिन्हें डीबग करना लगभग असंभव है।
- टॉप-डाउन डिज़ाइन: पीओपी एक सख्त टॉप-डाउन अपघटन का अनुसरण करता है जहां एक बड़ी समस्या को सबरूटीन्स में तोड़ दिया जाता है। वास्तविक दुनिया की भौतिक इकाइयाँ (जैसे ग्राहक, बैंक खाते, या कार) स्वाभाविक रूप से मॉडलिंग नहीं की जा सकतीं।
बी. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) का दर्शन:
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (जावा, सी++, पायथन और सी# द्वारा उदाहरण दिया गया) सॉफ्टवेयर आर्किटेक्चर के केंद्र में DATA रखकर इस दर्शन को उल्टा कर देता है। OOP में, सॉफ़्टवेयर का निर्माण स्वायत्त संस्थाओं के एक सहयोगी नेटवर्क के रूप में किया जाता है जिसे Objects.
कहा जाता है।| मूल्यांकन पैरामीटर | प्रक्रिया-उन्मुख प्रोग्रामिंग (पीओपी) | ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) |
|---|---|---|
| प्राथमिक जोर | §53चीजों को करने पर (एल्गोरिदम, कार्य और प्रक्रियात्मक तर्क) पर ध्यान केंद्रित करता है। §57डेटा और संस्थाओं पर ध्यान केंद्रित करता है जिनमें हेरफेर किया जा रहा है।||
| प्रोग्राम डीकंपोजिशन | प्रोग्राम को सबरूटीन, मॉड्यूल या फ़ंक्शंस में विभाजित किया गया है। | कार्यक्रमों को वर्गों और संचार वस्तुओं में विभाजित किया गया है। |
| डेटा सुरक्षा और छिपाना | डेटा कार्यों के बीच स्वतंत्र रूप से चलता है; कोई अंतर्निहित डेटा छिपाने की व्यवस्था नहीं। | डेटा निजी एक्सेस विनिर्देशकों (एनकैप्सुलेशन) का उपयोग करके कक्षाओं के अंदर छिपा हुआ है। |
| डिज़ाइन दृष्टिकोण | सख्त टॉप-डाउन दृष्टिकोण (मुख्य समस्या → सबरूटीन्स). | नीचे-ऊपर दृष्टिकोण (वर्ग/वस्तुएँ → एकीकृत प्रणाली). |
| कोड पुन: प्रयोज्य | फ़ंक्शन कॉल के माध्यम से सीमित पुन: प्रयोज्यता; कोड दोहराव की संभावना. | §103इनहेरिटेंस और कक्षा पुस्तकालयों के माध्यम से उच्च पुन: प्रयोज्य।|
| वास्तविक-विश्व मॉडलिंग | वास्तविक दुनिया की वस्तुओं को कार्यों में मैप करना कठिन और अप्राकृतिक। | वास्तविक दुनिया की इकाइयों की स्थिति और व्यवहार को निर्बाध रूप से मॉडल करता है। |