React समस्या नहीं है। समस्या यह है कि हम इसे कैसे सिखाते हैं।
किसी जूनियर डेवलपर से पूछें कि जब वे सबमिट बटन पर क्लिक करते हैं तो क्या होता है। अधिकांश लोग स्पष्ट उत्तर देने में विफल रहते हैं।
वे कह सकते हैं कि एक API कॉल सर्वर पर जाती है और एक रिस्पॉन्स वापस आता है। यह एक सतही उत्तर है।
उनसे अधिक विशिष्ट प्रश्न पूछें:
- ब्राउज़र रिक्वेस्ट को कैसे पैकेज करता है?
- किस HTTP मेथड का उपयोग किया जाता है?
- ऑथेंटिकेशन (authentication) कहाँ होता है?
- डेटाबेस तक पहुँचने से पहले सर्वर डेटा को कैसे प्रोसेस करता है?
यहीं से चुप्पी शुरू होती है।
जूनियर डेवलपर्स आलसी नहीं होते। उनमें टैलेंट की कमी नहीं होती। उनमें कॉन्टेक्स्ट (context) की कमी होती है।
हम नींव (foundations) से पहले एब्स्ट्रैक्शन (abstractions) सिखाते हैं।
बूटकैंप और ट्यूटोरियल त्वरित परिणामों पर ध्यान केंद्रित करते हैं। वे चाहते हैं कि आप एक पोर्टफोलियो बनाएं और नौकरी पाएं। React इसमें मदद करता है क्योंकि आप तेज़ी से परिणाम देखते हैं।
सीखने वाले सिस्टम देखने से पहले फ्रेमवर्क देखते हैं।
- वे HTTP से पहले React सीखते हैं।
- वे सर्वर से पहले कंपोनेंट्स (components) सीखते हैं।
- वे डेटाबेस से पहले स्टेट मैनेजमेंट (state management) सीखते हैं।
इससे ऐसे डेवलपर्स तैयार होते हैं जो जानते हैं कि क्या करना है, लेकिन यह नहीं जानते कि वे ऐसा क्यों कर रहे हैं।
यह 'ट्यूटोरियल हेल' (tutorial hell) की ओर ले जाता है। आप एक वीडियो से कोड कॉपी करते हैं और खुद को प्रोडक्टिव महसूस करते हैं। फिर आप अकेले कुछ बनाने की कोशिश करते हैं और असफल हो जाते हैं। आपने परिचित होने को ही समझ मान लिया।
AI टूल्स इस समस्या को और बढ़ा देते हैं। ChatGPT जैसे टूल्स प्रोडक्टिविटी में मदद करते हैं। खतरा तब शुरू होता है जब AI सोचने में सहायता करने के बजाय सोचने की प्रक्रिया को ही बदल देता है।
डिबगिंग (Debugging) पहले कठिन हुआ करती थी। आपको रूट कॉज़ (root cause) खोजने तक डॉक्यूमेंटेशन पढ़ना पड़ता था और असफल होना पड़ता था। उस संघर्ष ने आपके दिमाग को विकसित किया। यदि आप हर समस्या को AI को सौंप देते हैं, तो आप अपना इंजीनियरिंग जजमेंट (engineering judgment) खो देते हैं।
सॉफ्टवेयर इंजीनियरिंग निर्णय लेने और ट्रेड-ऑफ (trade-offs) को समझने के बारे में है। आप इसे केवल प्रॉम्प्टिंग (prompting) के माध्यम से नहीं सीख सकते।
यदि मैं एक पाठ्यक्रम (curriculum) बनाता, तो मैं इस क्रम में सिखाता:
- HTML/CSS
- JavaScript fundamentals
- Browser fundamentals
- HTTP और APIs
- Basic back-end concepts
- Databases
- Authentication
- React
जब तक छात्र React तक पहुँचते हैं, वे समझ जाते हैं कि डेटा फेचिंग (data fetching) क्यों होती है। वे बटन क्लिक के पीछे के मैकेनिक्स (mechanics) को समझ जाते हैं।
React समस्या नहीं है। AI समस्या नहीं है।
समस्या नींव (foundations) से बहुत तेज़ी से आगे बढ़ने और यह उम्मीद करने की है कि कमियाँ अपने आप भर जाएँगी।
क्या हम लोगों को बनाना सिखा रहे हैं, या हम उन्हें बिना समझे कॉपी करना सिखा रहे हैं?
स्रोत: https://dev.to/franklyn_nmesoma_86940ec9/react-isnt-the-problem-how-we-teach-it-is-38m8