मुझे पता है कि अजीब लगता है। बात यह है कि कोड सीखने के लिए इतने सारे संसाधन हैं कि यह खोया और अभिभूत महसूस करना आसान हो सकता है। लेकिन अपनी कोडिंग शिक्षा के पास पहुंचना जैसे कि आप एक अलग भाषा सीख रहे थे, आपको संचालित करने के लिए एक सहायक ढांचा प्रदान करेगा।
एक ढांचे का उपयोग करने से आप अपनी सीखने की प्रगति की संरचना कर सकेंगे। यह आपको दिशा, आपके रास्ते में मील के पत्थर और अंत में एक गंतव्य प्रदान करेगा।
इस तकनीक के मुख्य लाभों में से एक यह है कि यह आपके पथ को शुरुआती से उन्नत तक चरणों में विभाजित करता है। इन चरणों में अंतर करने से आपको यह समझने में मदद मिलेगी कि आप क्या कर रहे हैं।
उदाहरण के लिए, यदि आप जानते हैं कि आप वर्तमान में किस स्तर पर खेल रहे हैं, तो वह ज्ञान आपकी अपेक्षाओं को निर्धारित करेगा। यदि आप अभी भी शुरुआती चरण में हैं, तो यह महसूस न करें कि आपको आसानी से मध्यवर्ती या उन्नत कौशल प्राप्त करने में सक्षम होना चाहिए। यथार्थवादी अपेक्षाएँ रखने से आपको अत्यधिक निराश होने या यहाँ तक कि छोड़ने से रोकने में मदद मिलेगी।
अच्छा प्रतीत होता है? आइए शुरू करते हैं एक मजेदार छोटे व्यायाम के साथ:
आपका अंतिम लक्ष्य क्या है?
जब आप कोई भाषा सीख रहे होते हैं, तो लक्ष्य केवल शब्दावली शब्दों और यादृच्छिक वाक्यांशों की सूची सीखना नहीं होता है। लगभग कोई भी केवल नए शब्द सीखने के लिए भाषा सीखने की कोशिश नहीं करता है। दिमाग में हमेशा किसी न किसी तरह का वास्तविक दुनिया का अनुप्रयोग होता है। आप अंततः इसके साथ कुछ उपयोगी करने में सक्षम होना चाहते हैं, है ना? आपके मन में शायद एक विशिष्ट अंतिम लक्ष्य भी है। यह किसी के साथ धाराप्रवाह बातचीत करना, उस देश में यात्रा करना, या उस भाषा में कोई किताब पढ़ना हो सकता है।
लर्निंग कोडिंग उसी तरह होनी चाहिए। आपके पास केवल "लर्निंग कोडिंग" के अलावा एक अंतिम लक्ष्य होना चाहिए। यह एक नई पूर्णकालिक नौकरी खोजने, मोबाइल ऐप बेचने या अपने लिए काम करने के लिए हो सकता है। वह लक्ष्य आपको कठिन होने पर भी सीखते रहने की प्रेरणा देगा। जब आप प्रोग्रामिंग की दुनिया में नेविगेट करेंगे तो यह आपका सच्चा उत्तर होगा।
एक पल के लिए इस लेख को पढ़ना बंद करें, और एक मिनट के लिए विचार करें कि कोड सीखने में आपका अंतिम लक्ष्य क्या है। आप यह क्यों कर रहे हैं? वह प्रारंभिक प्रेरणा क्या थी जिसने आपको इस रास्ते पर चलने के लिए प्रेरित किया? अपने लक्ष्य को एक कागज के टुकड़े पर लिख लें। इसे ऐसी जगह लगाएं जहां आप इसे हर दिन देखेंगे — जैसे आपके कंप्यूटर के बगल में, या अपने बाथरूम के शीशे पर। जब आप उस नोट को पढ़ते हैं, तो आपको याद दिलाया जाएगा कि आपने अपनी यात्रा शुरू करने के लिए क्यों चुना है। अपने मूल कारण को याद रखने से आपको हार न मानने का प्रोत्साहन मिलेगा।
अपना लक्ष्य कम कर लिया? अच्छा। इस लेख को पढ़ने के बाद, अपना लक्ष्य क्या है, यह साझा करने के लिए नीचे एक टिप्पणी छोड़ दें। हम हमेशा एक-दूसरे की कहानियों को सुनने में प्रोत्साहन पा सकते हैं, और मुझे आपकी कहानियाँ सुनना अच्छा लगेगा।
अब, कोडिंग में पारंगत होने की ओर बढ़ते हैं!
पहली भाषा सबसे कठिन है
एक बार में केवल एक ही चीज़ सीखने पर ध्यान दें
जैसे दुनिया में कई बोली जाने वाली भाषाएँ हैं (वास्तव में 6,000 से अधिक!) — कई प्रोग्रामिंग भाषाएँ हैं और जिन्हें आप सीखना चुन सकते हैं। यदि आप अभी शुरुआत कर रहे हैं, तो मैं अनुशंसा नहीं करता कि आप एक ही बार में पायथन, रूबी, जावास्क्रिप्ट, रिएक्ट और जावा सीखने का प्रयास करें। यह अविश्वसनीय रूप से अव्यवहारिक होगा। आप एक ही समय में चीनी, स्पेनिश, जर्मन और पुर्तगाली सीखने की कोशिश नहीं करेंगे, है ना?
यदि आप सीखने के लिए अपनी पहली भाषा चुनने की कोशिश कर रहे हैं, तो तनाव न लें--बस एक को चुनें और इसे दक्षता के उचित स्तर तक सीखें। यह पहली भाषा सीखना सबसे कठिन होगा क्योंकि आप केवल एक भाषा नहीं सीख रहे हैं — आप यह भी सीख रहे हैं कि प्रोग्रामिंग कैसे काम करती है। एक बार जब आप एक भाषा में अच्छे हो जाते हैं, तो आपकी दूसरी और तीसरी भाषा सीखना आसान हो जाएगा।
सभी प्रोग्रामिंग भाषाओं में सामान्य सिद्धांत होते हैं जो उनके माध्यम से चलते हैं। और एक बार जब आप उन सिद्धांतों को सीख लेते हैं, तो यह नए सिंटैक्स और शब्दावली को सीखने की बात है, यदि आप करेंगे। जाहिर है, प्रत्येक भाषा की अपनी विशिष्टताएं होती हैं। लेकिन एक बार जब आप प्रोग्रामिंग सीखने की नींव रख लेते हैं, तो आगे चलकर अतिरिक्त कौशल हासिल करना बहुत आसान हो जाएगा।
अब जब आपने अपनी पहली भाषा चुन ली है, तो चलिए अपनी यात्रा के पहले चरण से शुरू करते हैं:
शुरुआती स्तर
नमस्कार, दुनिया!
विदेशी भाषा में बोलना सबसे पहले आप क्या सीखते हैं? आमतौर पर, यह सबसे बुनियादी अभिवादन है, "नमस्ते" कैसे कहें। संयोग से नहीं, "हैलो, वर्ल्ड!" आउटपुट करना सीखना अक्सर सबसे पहली चीज है जो आप सीखते हैं कि प्रोग्रामिंग भाषा में कैसे करना है।
अभिवादन सीखने के बाद, आप शब्दावली शब्दों और बुनियादी व्याकरण को याद करने के लिए आगे बढ़ते हैं। प्रोग्रामिंग में, आप वेरिएबल प्रकार, विधियों, सिंटैक्स और प्रोजेक्ट फ़ाइलों की संरचना जैसी अवधारणाओं को सीखेंगे। कार्यों को मैन्युअल रूप से सीखने और प्रतीत होने वाली मामूली वाक्यविन्यास त्रुटियों पर अटकने के लिए यह सब मजेदार नहीं हो सकता है। लेकिन इन बिल्डिंग ब्लॉक्स में महारत हासिल करने से आपको आगे बढ़ते रहने का कौशल मिलेगा।
इस शुरुआती चरण में, आप शायद बहुत सारी गलतियाँ करने जा रहे हैं। नहीं, आप बहुत सारी गलतियाँ करेंगे। लेकिन यह बिल्कुल ठीक है! यहां बात यह नहीं है कि आप इसे इस्तेमाल करने का प्रयास करने से पहले पूरी तरह से कुछ सीखें। वास्तव में, गलतियाँ करना अच्छी बात है, क्योंकि आप उन गलतियों से सीख सकते हैं। यदि आप कुछ गलत करने का जोखिम उठाने से डरते हैं जिसे आप कोशिश नहीं करते हैं, तो आप अपनी सीखने की प्रक्रिया में बाधा डालेंगे। यहां कुंजी है गलतियां करना, उन नई चीजों के साथ प्रयोग करना जो आप सीख रहे हैं।
यहां एक तरीका है जिससे आप प्रयोग कर सकते हैं:
यदि आप अपनी भाषा सीखने के लिए कोडिंग ट्यूटोरियल से गुजर रहे हैं, तो हमेशा की तरह पाठों का पालन करें। लेकिन फिर कुछ समय अपने आप से निकालें और बस अपने संपादक में कोड के साथ खेलें। देखें कि क्या आप उस कोड को तोड़ सकते हैं जिस पर आप काम कर रहे हैं, और यह समझने की कोशिश करें कि यह कैसे और क्यों टूटता है। फिर कोड को नए सिरे से फिर से लिखने का प्रयास करें, जब आप अटक जाते हैं तो केवल पाठ नोट्स को देखें।
इस तरह के प्रयोग के लिए समय और ऊर्जा के एक अग्रिम निवेश की आवश्यकता होगी, लेकिन यह लंबे समय में भुगतान करेगा। कोडिंग अवधारणाओं के साथ खेलकर, आप काम कर रहे हैं जो उन्हें गुदगुदी करता है, और इससे उन कौशलों को आपके दिमाग में बेहतर ढंग से टिकने में मदद मिलेगी। आप इसे एक आंतरिक हिस्सा बना सकते हैं कि आप अपने कौशल स्तर से कोई फर्क नहीं पड़ता कि आप नए विचारों से कैसे संपर्क करते हैं। (विशेषज्ञता के मार्ग के रूप में प्रयोग करने की यह तकनीक माइकल सिमंस की हालिया पोस्ट का विषय थी)
मध्यवर्ती स्तर
टुकड़ों को एक साथ रखना
विदेशी भाषाओं के लिए, यह वह जगह है जहां चीजें अधिक मजेदार होने लगती हैं —जितना अधिक आप जानते हैं, उतनी ही अधिक चीजें आप अपनी नई भाषा के साथ कर सकते हैं। आप संवादी कौशल विकसित करेंगे और उस भाषा में आप जो पढ़ रहे हैं और सुन रहे हैं उसका एक अच्छा हिस्सा समझने में सक्षम होंगे। ऑनलाइन भाषा सीखने के संसाधनों की बदौलत आप शायद उस भाषा के देशी वक्ताओं से भी दोस्ती कर सकें।
प्रोग्रामिंग में, मध्यवर्ती स्तर का मतलब है कि आप भाषा के सिद्धांतों की अधिक समझ प्राप्त करना शुरू कर रहे हैं, और आप इसके साथ क्या कर सकते हैं। आपको अभी भी मूलभूत बातों पर काम करते रहने की आवश्यकता है——किताबें पढ़ना, ट्यूटोरियल पढ़ना और प्रयोग करना। लेकिन आप एक ऐसा ढांचा बनाना शुरू कर रहे हैं जिसे आप समय के साथ सुधारना जारी रख सकते हैं। आप GitHub जैसे समुदायों में अन्य अधिक अनुभवी डेवलपर्स के साथ बातचीत करना भी सीख सकते हैं। वास्तव में, दूसरे लोग किस तरह प्रोग्रामिंग कर रहे हैं, इसका अध्ययन करने से आपको बहुत मदद मिल सकती है।
उदाहरण के लिए, आप विभिन्न GitHub रिपॉजिटरी को देख सकते हैं जो आपकी रुचि रखते हैं, और देखें कि अन्य डेवलपर्स विशेष समस्याओं को कैसे हल करते हैं। एक बार जब आप किसी विशेष रिपॉजिटरी का अध्ययन कर लेते हैं, तो आप किसी समस्या के संभावित समाधान को भी नोटिस कर सकते हैं, और एक पुल अनुरोध सबमिट करने का प्रयास कर सकते हैं। भले ही मालिक आपके अनुरोध को स्वीकार नहीं करता है, फिर भी आपको कोड के साथ काम करने का थोड़ा सा अनुभव प्राप्त होगा। कोशिश करते रहो और सीखते रहो।
आप स्टैक ओवरफ्लो, फेसबुक ग्रुप और स्लैक चैनल जैसे ऑनलाइन फ़ोरम से अन्य प्रोग्रामर से भी सहायता और समर्थन प्राप्त कर सकते हैं। वहाँ बहुत सारे लोग हैं जो बग का पता लगाने और आपको सही दिशा में इंगित करने में आपकी मदद करने के लिए तैयार हैं। दुनिया भर में लोगों का एक ऐसा समुदाय है जो कोड आउट करना सीख रहा है!
मंदी से टकराना
अब मुझे आपके लिए एक बुरी खबर बतानी है ... आपके सीखने के किसी बिंदु पर, आपको ऐसा लगेगा कि आप ठिठक गए हैं। जब आप अब सीखने की अवस्था में नहीं होंगे, तो आप ऐसा महसूस कर सकते हैं कि कवर करने के लिए बहुत अधिक दूरी है, जिसका कोई अंत नहीं है। ईमानदारी से कहूं तो यह बेकार है।
हालांकि, निराशा मत करो! यह मंदी किसी भी नए कौशल को हासिल करने का एक सामान्य हिस्सा है। बहुत शुरुआत में, आप एक टन प्रगति करेंगे और महसूस करेंगे कि आप जल्दी से कौशल प्राप्त कर रहे हैं। हालाँकि, जैसे-जैसे आप बेहतर और बेहतर होते जाते हैं, अधिक मध्यवर्ती और उन्नत कौशल सीखना अधिक कठिन होता है, क्योंकि, वे अधिक उन्नत होते हैं। किसी भी कौशल में महारत हासिल करने में हमेशा एक कुशल शुरुआतकर्ता बनने की तुलना में अधिक समय लगता है।
अगर आपको लगता है कि आप इस मंदी में फंस गए हैं, तो हार न मानें। अपने आप से धैर्य रखें, और समझें कि कौशल में आगे बढ़ते रहने में अभी और समय लगेगा। बाहर न निकलने की कोशिश करें, और उत्कृष्टता प्राप्त करने और परिपूर्ण होने के लिए अपने आप पर बहुत अधिक दबाव न डालें। सबसे बढ़कर, अब समय आ गया है कि एक मजबूत सपोर्ट नेटवर्क, वास्तविक जीवन और ऑनलाइन में, आपकी मदद कर सकता है। उन लोगों तक पहुंचें जो आपके जैसी ही नाव में हो सकते हैं और कहानियों और प्रोत्साहनों की अदला-बदली करें।
उन्नत स्तर
“अरे, मुझे लगता है कि मैं वास्तव में इसमें कुछ अच्छा कर सकता हूँ!”
विदेशी भाषा सीखते समय, कुशल बनना ही वह मंजिल है, जिस तक पहुंचने के लिए अधिकांश लोग प्रयास करते हैं। प्रवीणता का मतलब है कि आपको पूरा भरोसा है कि आप किसी भी विचार या भावना को उस भाषा में व्यक्त कर सकते हैं जो आप चाहते हैं। आप इस स्तर पर व्यावहारिक रूप से धाराप्रवाह हैं!
किसी कोडिंग भाषा या तकनीक में दक्षता के स्तर तक पहुंचना वाकई अच्छा लगता है। यद्यपि आप समय-समय पर नपुंसक सिंड्रोम के साथ संघर्ष कर सकते हैं, कुल मिलाकर आप अपने स्वयं के कौशल और एक प्रोग्रामर के रूप में अपने मूल्य में अधिक आत्मविश्वास महसूस करेंगे। आप लगभग कुछ भी हिट करने में सक्षम होंगे जो क्लाइंट या बॉस आप पर फेंकते हैं। आप जानते हैं कि भले ही आप नहीं जानते कि कुछ कैसे करना है, आपके पास शोध करने में सक्षम होने के लिए उपकरण हैं (यानी Google) और समय के साथ समाधान का पता लगाएं।
हालाँकि, अब आपकी प्रशंसा पर आराम करने का समय नहीं है। प्रोग्रामिंग लगातार बदलता क्षेत्र है, और यह तेजी से आगे बढ़ता है। आपको अपने कौशल का सम्मान जारी रखने की आवश्यकता है, क्योंकि यदि आप रुकते हैं, तो आपकी मेहनत से जीती हुई दक्षता कम होने लगेगी। आत्मसंतुष्ट और स्थिर होना अंततः एक प्रोग्रामर के रूप में आपके करियर के लिए मौत की घंटी होगी। हालाँकि, अच्छी खबर यह है कि इस समय तक, आप सीखने में बहुत अच्छे हो गए हैं। एक नई भाषा, रूपरेखा, या उपकरण सीखने में आपको उतना समय नहीं लगेगा जितना पहले हुआ करता था। और आप इस प्रक्रिया का आनंद भी ले सकते हैं!
आपका अंतिम लक्ष्य क्या है? नीचे एक टिप्पणी छोड़ें…
मुझे उम्मीद है कि आपको प्रोग्रामिंग सीखने के तरीके के बारे में यह लेख पढ़ने में मज़ा आया होगा। जैसा कि मैंने ऊपर कहा, मुझे यह सुनना अच्छा लगेगा कि आपका प्रोग्रामिंग लक्ष्य क्या है, साथ ही आप अभी क्या सीख रहे हैं।