जैसे-जैसे टेक्नॉलॉजी अधिकाधिक एक्सेसिबल होती जा रही है, वैसे-वैसे प्रोग्रामर्स की ज़रूरत लगातार बढ़ती जा रही है। कोड करना एक ऐसी स्किल है, जो समय के साथ-साथ सीखी और परफेक्ट की जाती है, मगर सभी लोगों को कहीं न कहीं तो शुरू करना ही होता है। अनेक ऐसी लैंगवेजेज़ होती हैं, जो कि शुरू करने वालों के लिए परफेक्ट होती हैं, चाहे आप किसी भी फील्ड में इंटरेस्टेड क्यों न हों (जैसे कि जावा स्क्रिप्ट, आदि। जावा स्क्रिप्ट काफ़ी एड्वान्स्ड होती है, इसलिए एचटीएमएल, सीएसएस से शुरू करिए)। यह कैसे करना है इसके लिए नीचे पहला चरण देखिये।
चरण
-
इस बारे में बहुत चिंता मत करिए कि आप कौन सी लैंगवेज चुनते हैं: बहुत सारे शुरुआत करने वाले कोडर्स यह सोच-सोच कर परेशान होते रहते हैं कि सीखने के लिए सबसे पहले कौन सी लैंगवेज चुनी जाये। (क्योंकि उनको पता नहीं होता है कि अपने पहले कोड की शुरुआत कहाँ से की जाये)। जब बात डेटा स्ट्रक्चर और लॉजिक की होती है तब इससे कोई बहुत बड़ा अंतर नहीं पड़ता कि आप किस लैंगवेज से सीखना शुरू करते हैं। असली बात तो स्किल्स को तेज़ करने की होती है, और उनको किसी भी लैंगवेज से पैना किया जा सकता है। [१] X रिसर्च सोर्स
- जब भी आप कोई लैंगवेज चुनें, तब फ़ोकस इस पर करिए कि आप किस तरह के डेवलपमेंट से शुरुआत करना चाहते हैं और उसी के हिसाब से लैंगवेज चुन लीजिये। जैसे कि, अगर आप वेब डेवलपमेंट चुनना चाहते हैं तब HTML5 से शुरुआत करिए, जिसके साथ आपको सीएसएस, जावास्क्रिप्ट, और पीएचपी को भी रखना चाहिए। अगर आप डेस्कटॉप अप्लीकेशन्स करना चाहते हैं, तब C ++ या किसी दूसरी बेसिक प्रोग्रामिंग लैंगवेज से शुरुआत करिए।
- अगर आप कोडिंग को कैरियर बनाने वाले हैं, तब आप देखेंगे कि आपने कोड करने के लिए पहले जो लैंगवेज सीखी होगी उसका आप कभी इस्तेमाल नहीं करेंगे। उसकी जगह जैसे-जैसे आप डॉक्यूमेंटेशन और एक्सपेरिमेंटेशन करते जाएँगे, वैसे-वैसे आप लैंगवेजेज़ सीखते जाएँगे।
-
आप जो भी लैंगवेज चुनें उसके लिए मुफ़्त ऑनलाइन रिसोर्सेज़ ढूंढिए: इन्टरनेट में मुफ़्त ट्यूटोरियल्स, क्लासेज़ और वीडियोज़ का ऐसा खज़ाना होता है, जो ख़ास तौर से आपकी पसंद की लैंगवेज के लिए टेलर किया गया होता है। आप एक दिन के अंदर किसी भी इंट्रोडक्टरी लैंगवेज के बेसिक्स के बारे में जानकारी पा सकते हैं।
- लोकप्रिय साइट्स में Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools, Code School आदि शामिल हैं।
- यहाँ विकिहाउ में भी अनेक वैरायटी के लैंगवेज-स्पेसिफ़िक स्टार्टर गाइड्स उपलब्ध हैं।
- आपको यूट्यूब पर, लगभग प्रत्येक प्रोग्रामिंग सीनारियो के लिए हाउ-टू गाइड्स मिल सकते हैं।
- आपके प्रोग्रामिंग संबंधी हर प्रकार के सवालों के लिए Stack Exchange एक अत्यंत लोकप्रिय प्रश्न-उत्तर साइट है।
एक्सपर्ट टिपप्रोडक्ट मैनेजमेंट डायरेक्टरअर्चना राममूर्ति Workday में टेक्नोलॉजी प्रोडक्ट मैनेजमेंट की डायरेक्टर हैं। वह एक प्रोडक्ट निंजा, सिक्योरिटी एडवोकेट और टेक इंडस्ट्री में अधिक समावेश को सक्षम करने के लिए एक खोज पर है। अर्चना ने SRM यूनिवर्सिटी से BS और ड्यूक यूनिवर्सिटी से MS किया है और 8 साल से प्रोडक्ट मैनेजमेंट में काम कर रही हैं।हमारे विशेषज्ञ की कहानी : "मैं कंप्यूटर डिज़ाइन या प्रोग्रामिंग में किसी भी प्रकार के बैकग्राउंड के बिना कोडिंग करने के लिए आगे बढ़ा। जब मैं कोड करना सीखना चाहता था, तब मैंने जावा की किताबें पढ़ना और ऑनलाइन जानकारी का इस्तेमाल करना शुरू किया। आज की दुनिया में, इतने अधिक रिसोर्सेज़ उपलब्ध हैं कि नई स्किल्स सीखना बहुत ही आसान हो गया है!"
-
किसी अच्छे टेक्स्ट एडिटर को डाउनलोड कर लीजिये: अनेक प्रोग्रामिंग लैंगवेजेज़ में कोड लिखने के लिए आपको एक्स्टर्नल टेक्स्ट एडिटर्स के इस्तेमाल करने की अनुमति होती है। किसी ऐसे टेक्स्ट एडिटर को खोज निकालिए जो आपको इंडेंटेशन्स और कोड मार्कअप को देखने दे।
- लोकप्रिय प्रोग्राम्स में शामिल हैं Notepad++ (विंडोज़), TextWrangler (ओएसएक्स), JEdit , या Visual Studio Code .
-
आवश्यक कंपाइलर्स को डाउनलोड कर लीजिये: कुछ प्रोग्रामिंग लैंगवेजेज़ में आपके क्रिएट किए हुये कोड को रन करने के लिए कंपाइलर्स की जरूरतर होती है। कंपाइलर, आपके लिखे हुये कोड को उस निम्न स्तर की लैंगवेज में ट्रांसलेट करते हैं, जिसे मशीन प्रोसेस कर सकती हो। अनेक कंपाइलर्स ओपेन सोर्स होते हैं और मुफ़्त में इस्तेमाल किए जा सकते हैं। कंपाइलर्स में जो भाषाएँ शामिल होती हैं, वो हैं:
- C
- C++
- C#
- Java
- BASIC
- Fortran
-
अपना पहला प्रोजेक्ट शुरू करिए: कोई अच्छा इंट्रोडक्टरी प्रोजेक्ट उठा लीजिये जिससे आपको शुरुआत करने में सहायता मिलेगी। ऑनलाइन अनेक प्रकार के सुझाव और ट्यूटोरियल्स उपलब्ध हैं, मगर अच्छा यही होगा कि शुरू करने के लिए आप किसी भी कंपाइलर के साथ एचटीएमएल के लिए बेसिक वेबसाइट्स, पीएचपी के साथ बेसिक डेटाबेस और फ़ॉर्म फ़ंक्शन्स, या सरल प्रोग्राम्स को चुन लें।
-
अपने सम्पूर्ण कोड को कमेन्ट करिए: सभी प्रोग्रामिंग लैंगवेजेज़ में एक कमेन्ट फीचर होता है जो आपको कंपाइलर द्वारा इग्नोर किए हुये डेटा को एंटर करने देता है। इससे आप अपने कोड में कमेट्स शामिल कर सकते हैं। ये कमेंट्स बहुत महत्वपूर्ण होते हैं, एक तो इसलिए कि इनके कारण दूसरों को पता चल पाता है कि आपका कोड किस तरह काम करता है, और दूसरा इसलिए कि यह आपको याद दिलाता है कि आपका कोड करता क्या है।
- कमेन्ट फ़ंक्शन का इस्तेमाल आप टेस्टिंग के उद्देश्य से अपने प्रोग्राम में से कोड को जल्दी से हटाने के लिए भी कर सकते हैं। अगर आप एक्सक्लूड करना चाहते हैं तब अपने कोड के अराउंड कमेन्ट के टैग्स लगा दीजिए और कोड पर वापस जाने के लिए कमेन्ट टैग्स को रिमूव कर दीजिये।
-
दूसरे प्रोग्राम्स और वेब प्रोजेक्ट्स के हिस्से करके देखिये: जब आप सीख रहे हों, तब यह देखने में कोई शर्म नहीं करिए कि समान तरह के काम को करने के लिए दूसरे लोगों ने क्या किया था। कुछ समय लगा कर यह देखिये कि कोड जो भी कर रहा है वो वैसा क्यों कर रहा है।
- वेबसाइट्स के सोर्स कोड किस प्रकार से देखे जाएँ इसकी डिटेल्स को देखने के लिए, यह गाइड देखिये।
-
क्लासेज़ लीजिये: कम्यूनिटी कॉलेजेज़, टेक स्कूल्स, और ऑनलाइन प्रोग्रामों के द्वारा ऐसे सर्टिफ़िकेशन और क्लासेज़ को ऑफर किया जाता है, जिनसे न केवल आपको नौकरी मिलने में मदद मिलती है बल्कि आपको प्रोग्राम की पढ़ाई भी उपलब्ध होती है। हर समय कंप्यूटर साइंस जैसी किसी एड्वान्स्ड डिग्री की ज़रूरत नहीं होती है, मगर इसके कारण फ़ुल-टाइम प्रोग्रामिंग का काम मिल सकता है। [२] X रिसर्च सोर्स
- (किसी टीचर या प्रोग्रामिंग एक्सपर्ट के साथ आमने-सामने बैठ कर सीखने के बारे में तो बहुत कुछ कहा जा सकता है, मगर यह एक ऐसी चीज़ है जो कि ऑनलाइन स्त्रोतों में अक्सर नहीं ही मिल पाती है।)
- मगर क्लासेज़ महंगी भी हो सकती हैं, तो उनसे होने वाले फ़ायदे नुकसान का हिसाब कर लीजिये। अगर प्रोग्रामिंग केवल एक हॉबी है तब तो क्लासेज़ में समय और पैसा लगाना उचित नहीं ही होगा। मगर, यदि आप प्रोग्रामिंग में कैरियर बनाना चाहते हैं, तब तो क्लासेज़ से आपको काफ़ी बढ़ावा मिल सकता है (मगर यह बात फिर से समझ लीजिये कि अगर आपके पास टेलेंट है, तब इसकी ज़रूरत बिलकुल भी नहीं है)।
-
अपने ज्ञान का विस्तार करिए: केवल प्रोग्रामिंग लैंगवेजेज़ सीखने के साथ-साथ अगर आप लॉजिक और मैथमेटिक्स की क्लासेज़ भी लेंगे, जिनकी एड्वान्स्ड प्रोग्रामिंग में अक्सर ज़रूरत पड़ती है, तब आपको और भी अधिक लाभ होगा। ज़रूरी तो नहीं है कि आप इसकी शिक्षा स्कूल में जा कर लें, मगर क्लासरूम सेटिंग से सहायता ज़रूर मिल सकती है।
- ऐसी प्रोग्रामिंग, जिसमें फ़िज़िक्स की कैलकुलेशन्स तथा दूसरी सिमुलेशन्स शामिल हों, उनके लिए अलगोरिथ्म्स तथा मॉडेल्स की अच्छी समझ की ज़रूरत होती है।
- लॉजिक, प्रोग्रामिंग का फंडामेंटल आधार होता है, इसलिए लॉजिक तथा प्रोसेसेज़ को समझने से कोडिंग करते समय आपको समस्याओं को हल करने में मदद मिलेगी।
- अधिकांश प्रोग्रामिंग के लिए आपको एड्वान्स्ड मैथ जानने की ज़रूरत नहीं होती है, मगर उसकी जानकारी होने से आप ऑप्टिमाइज़ कर सकते हैं और आपको फ़ायदा हो सकता है।
-
और अधिक लैंगवेजेज़ सीखिये: जब आपको एक बार अपनी इनीशियल लैंगवेज में महारत मिल जाये तब आगे बढ़िए। उन लैंगवेजेज़ का पता लगाइए जो उस लैंगवेज की कॉम्प्लीमेंटरी हों, जो आपने सीखी है, अर्थात जो उसके साथ काम करने में मदद कर सकें, या ऐसी लैंगवेज चुनिये जो आपके इन्टरेस्ट वाले किसी खास काम के लिए ठीक हो। अक्सर, एचटीएमएल तथा सीएसएस जैसी कॉम्प्लीमेंटरी लैंगवेजेज़ सीखने के लिए सबसे आसान होती हैं।
- जावा सबसे लोकप्रिय लैंगवेजेज़ में से एक है, और अक्सर जावा डेवलपर्स के लिए अनेक अवसर दिखाई पड़ते हैं। जावा से अनेक प्रकार के सिस्टम्स को रन किया जा सकता है, और उसके अनेक अप्लीकेशन्स भी होते हैं। जावा का इस्तेमाल एण्ड्रोइड अप्लीकेशन्स, जो कि सबसे तेज़ी से बढ़ने वाले मार्केट्स में एक है, के लिए भी होता है।
- C++ लैंगवेज को वीडियो गेम्स डेवलप करने के लिए काफ़ी रेकमेंड किया जाता है। यूनिटी (बहुत अधिक इस्तेमाल किया जाने वाला, सस्ता गेम इंजन) और यूडीके (लोकप्रिय अनरीयल इंजन के लिए कोड) में कोड करना सीखने से अनेक अवसर मिल सकते हैं, हालांकि वीडियो गेम इंडस्ट्री के अलावा इनका बहुत अधिक उपयोग नहीं है।
- अगर आप आइफ़ोन ऐप्स बनाना चाहते हैं, तब Xcode और Objective-C आपके प्राइमरी टूल्स होंगे। आपको मैक की भी ज़रूरत पड़ेगी, चूंकि Xcode सिर्फ़ मैक पर ही कंपाइल कर सकता है।
- पाइथन एक सर्वर स्क्रिप्टिंग लैंगवेज है जिसे सीखना दूसरों की तुलना में आसान होता है। पाइथन का इस्तेमाल पिंटेरेस्ट और इंस्टाग्राम जैसी वेबसर्विसेज़ के लिए होता है और इसको सीखना इतना आसान होता है कि इसके बेसिक्स को कुछ ही दिनों में सीखा जा सकता है।
-
धीरज रखिए: प्रोग्रामिंग करते समय अक्सर आपके सामने चुनौतियाँ आती हैं, विशेषकर तब, जबकि आप बग्स की खोज कर रहे होते हैं, या किसी नए आइडिया को इम्प्लीमेंट कर रहे होते हैं। पूरी पहेली को एक बार में हल कर लेने की जगह आपको छोटी-छोटी सफलताओं से संतुष्ट होना ही सीखना पड़ेगा। धीरज रख सकने से आप अधिक प्रभावी कोड बना सकेंगे, जिससे आप बेहतर परफ़ॉर्म करने वाले प्रोग्राम बना सकेंगे और आपके साथ काम वाले लोग भी ख़ुश होंगे।
-
दूसरों के साथ काम करना सीखिये: अगर आप किसी ऐसे प्रोजेक्ट पर काम कर रहे हैं, जिसमें और भी बहुत सारे लोग काम कर रहे होंगे, तब काम को कैसे किया जाये इस बारे में बहुत सारे अलग-अलग दृष्टिकोण भी आपके सामने आएंगे। आज की व्यापारिक कामकाज की दुनिया में काम का टीम के द्वारा किया जाना तो अवॉइड नहीं किया जा सकता है, इसलिए अगर आप सब कुछ इंडिपेंडेंटली डेवलप नहीं करने वाले हैं, तब दूसरों के साथ काम करने को तैयार रहिए।
-
ऐसा काम पकड़ लीजिये जहां आप अपनी कोडिंग स्किल्स की प्रैक्टिस कर सकें: वोलंटियर के रूप में वेबसाइट डिज़ाइन करने का या अप्लीकेशन लिखने का काम करिए। किसी छोटी कंपनी में पार्ट-टाइम काम करते समय आपको वेबसाइट्स या साधारण अप्लीकेशन्स के लिए कोड लिखने का अवसर मिल सकता है।
-
दूसरे प्रोग्रामर्स से कनेक्ट होइए: डेवलपर्स की ऐसी अनेक कम्युनिटीज़ और गैदरिंग्स होती हैं जो आपको सपोर्ट और इंस्पायर करने में मदद कर सकती हैं। अपने एक्स्पोज़र और नेटवर्क को एक्सपैंड करना शुरू करने के लिए स्थानीय प्रोग्रामिंग कन्वेन्शन्स का पता करिए, हैकाथोन्स या गेम जैम (ऐसे टाइम्ड ईवेंट्स जिनमें कॉमन थीम होता है) में भाग लीजिये, और प्रोग्रामिंग फ़ोरम्स में साइन अप करिए।
-
प्रैक्टिस करिए, प्रैक्टिस करिए, और प्रैक्टिस करते ही रहिए: ऐसा माना जाता है कि आपको कंप्यूटर प्रोग्रामिंग में एक्सपर्ट माना जाए, इसके लिए आपको लगभग 15,000 घंटे प्रैक्टिस किए हुये होना चाहिए। [३] X रिसर्च सोर्स इसका अर्थ है सालों की अप्लाइड प्रैक्टिस। प्रोग्रामिंग की महारत तो तभी आएगी जब आप प्रैक्टिस में भरपूर समय लगाएँ, और उसमें प्रोफ़िशिएंट हो जाएँ।
- कोशिश करिए कि, प्रतिदिन, चाहे आप उस दिन काम नहीं भी कर रहे हों, प्रोग्रामिंग में कुछ समय अवश्य लगाएँ। अपने खाली समय में प्रोग्रामिंग करने से आपको ब्रेकथ्रूज़ मिल सकते हैं और नए आइडियाज़ भी आ सकते हैं।