सामान्य प्रश्न छात्र ओओपी सीखते समय पूछ सकते हैं?
इस प्रश्न को पढ़ना क्या हमें सॉफ्टवेयर जटिलता को प्रबंधित करने के लिए वास्तव में OO भाषाओं की आवश्यकता है? एसई साइटों में से एक और ऑब्जेक्ट-ओरिएंटेड अवधारणा को सिखाने में मेरे अपने अनुभव, उदाहरण के लिए ऑब्जेक्ट-ओरिएंटेड अवधारणाओं और प्रोग्रामिंग (अजगर में) को पढ़ाने के लिए कुछ वास्तविक व्यावहारिक उदाहरण ने मुझे आश्चर्यचकित किया है कि जब वे पहली बार ओओपी सीखते हैं, तो आम प्रश्न छात्र क्या पूछ सकते हैं ?
उदाहरण के लिए उस सवाल में लेखक ने पूछा,
मैं एक आरंभिक सीएस छात्र हूं ... पहले सेमेस्टर में हमें ओप्पो अवधारणाओं जैसे कि एनकैप्सुलेशन, डेटा छिपाना, मॉड्यूलर ...
लेकिन मुझे लगता है कि जटिलता, सांकेतिकता, डेटा छुपाने जैसी जटिलताओं को प्रबंधित करने के लिए इस्तेमाल होने वाले सभी सिद्धांत प्रक्रियात्मक भाषाओं द्वारा बहुत आसानी से लागू किए जा सकते हैं। तो क्यों OOP अगर हम इसके बिना जटिलता का प्रबंधन कर सकते हैं?
मुझे यह भी स्वीकार करना होगा कि मेरा अपना संघर्ष है, उदाहरण के लिए मैंने यह सवाल पूछा था कि क्या ओओपी संज्ञा के महत्व को बढ़ाता है और इस तरह उस साइट पर भी कम महत्व की स्थिति में कार्रवाई / क्रिया डाल देता है (किसी भी छात्र ने मुझसे यह सवाल नहीं पूछा है)। मेरा प्रश्न बंद कर दिया गया और यहां तक कि 2 हटाए गए वोट भी मिले लेकिन यह मेरी चिंता का विषय है।
यदि मेरे छात्रों या मेरे सहयोगियों को जो जावास्क्रिप्ट के साथ अनुभव करते हैं और ओओपी सीखना पसंद करते हैं, तो मैं हमेशा उन्हें तारीख-एफएनएस के साथ क्षणिकाओं की तुलना करने की अनुमति देता हूं , दोनों तारीख के साथ सौदा करते हैं और समान कार्य प्रदान करते हैं, दोनों एक अच्छा काम करते हैं, लेकिन एक ओओपी पुस्तकालय और दिनांक- fns एक फंक्शन लाइब्रेरी है।
मेरा उद्देश्य उन्हें यह समझने देना है कि चीजों को करने के एक से अधिक तरीके हैं।
तो आपके छात्र क्या सामान्य प्रश्न पूछते हैं?
जवाब
मैंने सबसे अधिक वोट किए गए प्रश्नों के माध्यम से पढ़ा, जो कि सॉफ्टवेयरइंजीनियरिंग.स्टैकएक्सचेंज डॉट कॉम और स्टैकओवरफ्लो डॉट कॉम पर उन्मुख हैं । मुझे लगता है कि ओपोर सीखते समय सॉफ्टवेयरइन्जिनियरिंग साइट पर कुछ प्रश्न काफी सामान्य होते हैं जबकि स्टैकओवरफ्लो पर प्रश्न व्यावहारिक प्रोग्रामिंग प्रश्नों से संबंधित होते हैं जो पेशेवरों द्वारा पूछे जाने की अधिक संभावना है।
इसलिए मैंने सॉफ़्टवेयरइंजीनियरिंग साइट से कुछ प्रश्न सूचीबद्ध किए,
- किसी प्रोग्राम को कई वर्गों में विभाजित करना क्यों अच्छा है? । यह सवाल वास्तव में एक हाई स्कूल के छात्र द्वारा पूछा गया था।
- क्या OOP में वस्तुओं को एक इकाई का प्रतिनिधित्व करना है? । मेरे छात्र मुझसे यह सवाल पूछते हैं।
- प्रक्रियात्मक प्रोग्रामिंग पर ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का लाभ क्या है? यह मेरे प्रश्न में कुछ हद तक "सॉफ्टवेयर जटिलता प्रबंधन" से संबंधित है और मैं अपने सहयोगियों के साथ एक और दिलचस्प सवाल पर चर्चा करता हूं जो कि quora पर पूछा गया था कि जब C एक वस्तु उन्मुख भाषा नहीं है तो लिनक्स इतने बड़े कोड बेस को कैसे बनाए रखता है? क्या कोड आधार सभी गड़बड़ है?
- क्या OOP कोड के पुन: उपयोग के वादे को पूरा करता है? कोड पुन: उपयोग को प्राप्त करने के लिए क्या विकल्प हैं? मुझे यकीन नहीं है कि अगर छात्र यह प्रश्न पूछेंगे और मेरे पास प्रश्न के लिए भी अपना दोहरा है।
- ऑब्जेक्ट-ओरिएंटेड कोड लिखते समय, क्या मुझे हमेशा एक डिज़ाइन पैटर्न का पालन करना चाहिए? । इस साइट में डिज़ाइन पैटर्न के बारे में भी एक प्रश्न है, कंप्यूटर साइंस कोर्स कितना खराब है जो डिज़ाइन पैटर्न नहीं सिखाता है?
- "बताओ, मत पूछो" पर स्पष्टीकरण अच्छा OO माना जाता है । कुछ कोडिंग अनुभव प्राप्त करने के बाद ही वे प्रश्न पूछ सकते हैं / सराहना कर सकते हैं। लेकिन यह एक अच्छा है।
- यदि मेरा फ़ंक्शन जटिल है और बहुत सारे चर हैं, तो क्या मुझे एक वर्ग बनाना चाहिए? एक उत्तर मेरे छात्रों के लिए भी मेरी सिफारिश थी जब उनके पास इस तरह का सवाल है, "एक वर्ग का उपयोग करें, लेकिन एक स्वतंत्र स्टैंडिंग फ़ंक्शन भी प्रदान करें, जो केवल ऑब्जेक्ट का निर्माण करता है, विधि को कॉल करता है और परिणाम लौटाता है, वह वर्ग जो आप आंतरिक रूप से वास्तव में उपयोग करते हैं आपके सार्वजनिक समारोह का सिर्फ एक कार्यान्वयन विवरण बन जाता है "
Quora में कुछ दिलचस्प सवाल हैं जो मुझे लगता है कि लोग पूछेंगे कि जब वे पहली बार OOP सीखते हैं, तो मैं यहां कुछ सूची देता हूं:
- क्या कोई भी (प्रोग्रामर की स्थिति में) ओओपी के बिना आधुनिक तकनीक उद्योग (सॉफ्टवेयर या कोई सॉफ्टवेयर) में जीवित रह सकता है?
- सॉफ़्टवेयर डेवलपर OOP का उपयोग कितनी बार करते हैं? । कर्ट गुनथरोथ का एक जवाब दिलचस्प है "किसी भी समय जब आप लगभग 1,000 लाइनों की तुलना में एक कार्यक्रम लिखते हैं, तो आपको ओओपी 1000 लाइनों का उपयोग करना चाहिए? ऐसा क्यों ...?"
- जब ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग एक अच्छा फिट नहीं है?
उम्मीद है कि मुझे कुछ और जवाब मिल सकते हैं।
यह एक बहुत अच्छा सवाल है! आपके जवाब में बहुत सारी जमीन भी शामिल है।
मैं इन सवालों के लिए प्रेरित कर सकता है पर एक प्रतिबिंब की पेशकश करना चाहते हैं।
मेरे अनुभव में, उन शिक्षार्थियों को जो अपनी यात्रा में ओओपी का सामना करते हैं, उन्हें कुछ अलग चुनौतियों से जूझना पड़ता है, जिनमें शामिल हैं:
- उन्होंने अभी तक उस समस्या का अनुभव नहीं किया है जो OOP हल करती है।
- उनका मानना है कि खोज की प्रतीक्षा कर रही सभी प्रोग्रामिंग चुनौतियों का एक सही समाधान है।
ये कुछ मामलों में, असुरक्षा में, सवालों, भ्रमों के पूरे भार को जन्म देते हैं।