अपनी पहली प्रोग्रामिंग / स्क्रिप्टिंग भाषा कैसे सीखें - कैसे

अपनी पहली प्रोग्रामिंग / स्क्रिप्टिंग भाषा कैसे सीखें

मेरे द्वारा कहे जाने वाले प्रत्येक प्रोग्रामिंग फ़ोरम के बारे में सबसे अधिक पूछे जाने वाले प्रश्नों में से एक है, "मुझे कौन सी भाषा सीखनी चाहिए?"। हालांकि कोई भी दो लोग इसे उसी तरह से नहीं पूछते हैं, हर प्रोग्रामर ने किसी न किसी बिंदु पर पूछा होगा। और हर कोई इस सवाल का जवाब देने के बारे में अपनी राय रखता है, लेकिन मेरे पास सीएस में पृष्ठभूमि नहीं है, इसलिए मेरे दो सेंट अनुभव से आते हैं। :)

कुल 5 चरण

चरण 1: तय करें कि आप क्या करना चाहते हैं।

इस प्रश्न के प्रत्येक उत्तर के लिए मैंने (और लिखा) पढ़ा है, यह हमेशा पहला कदम है। यह आप क्या बनाना चाहते हैं? यदि आप किसी मौजूदा सिस्टम को स्वचालित करना चाहते हैं, तो ऑटोहॉटकी, पॉवरशेल, या पायथन जैसी भाषाएं अच्छी होंगी। लेकिन अगर आप मोबाइल ऐप बनाना चाहते हैं, तो आपको जावा, ऑब्जेक्टिव-सी, स्विफ्ट या सी # जैसी भाषाओं को सीखना होगा (क्योंकि प्रत्येक प्लेटफॉर्म की अपनी "मूल" भाषा है, और ये बड़ी 4 हैं)। यदि आप खेल करना चाहते हैं, तो मैं निश्चित रूप से अजगर की सिफारिश करूंगा; आप सभी प्रकार की भाषाओं के साथ गेम बना सकते हैं, लेकिन पायथन में "PyGame" नामक एक महान पुस्तकालय है जो IMO को आसान बनाता है। लेकिन अगर आप अपने एमएस ऑफिस कौशल को अगले स्तर तक ले जाना चाहते हैं, तो आप सीखना चाहते हैं कि वीबीए में मैक्रोज़ कैसे लिखें। लेकिन इससे पहले कि हम किस भाषा के बारे में सोचना शुरू कर सकें, बड़ा सवाल यह है कि आप क्या बनाना चाहते हैं।

चरण 2: यह तय करें कि आप किस प्लेटफॉर्म के लिए विकास करना चाहते हैं।

यह एक लगभग उतना ही बड़ा है जितना आप तय करना चाहते हैं कि आप क्या बनाना चाहते हैं। विभिन्न OS में अलग-अलग "देशी" भाषाएं होती हैं। विंडोज के लिए यह C # या VB.Net है, Apple के लिए यह Objective-C या Swift है, और Linux के लिए यह C / C ++ है। फिर ऐसी भाषाएँ हैं जो पायथन या जावा की तरह क्रॉस-प्लेटफ़ॉर्म होने की कोशिश करती हैं; ये कुछ चुनौतियों के साथ आते हैं, लेकिन कुछ भी नहीं जो सीखा नहीं जा सकता है। और मैंने पहले ही मोबाइल एप्लिकेशन के लिए उपयोग की जाने वाली भाषाओं का उल्लेख किया है। फिर मेरा व्यक्तिगत पसंदीदा है: वेब।

मुझे मानना ​​पड़ेगा, मैं एक बड़ा वेब ऐप फैन हूं। सभी ओएस में वेब ब्राउज़र होते हैं, और मोबाइल उपकरणों पर आप एक वेब ऐप सेट कर सकते हैं जो एक मूल ऐप की तरह दिखता है और महसूस करता है। हालांकि इसकी कमियां हैं, और सबसे बड़ी सीखने की अवस्था है। इसमें कम से कम 4 भाषाएँ शामिल हैं: HTML, जावास्क्रिप्ट (जावा जैसी कोई चीज़ नहीं), CSS और जो कुछ भी आपके सर्वर पर चलता है। सर्वर-साइड भाषाएँ PHP, पायथन, C # / VB.Net, जावा और रूबी हैं। आरंभ करना आसान है, लेकिन निश्चित रूप से बहुत कुछ सीखना है। लेकिन वेब अब तक मेरा पसंदीदा मंच है; लेकिन यह आप पर निर्भर है कि आप अपना कोड क्या चलाना चाहते हैं।

चरण 3: इसे Google करें।

जब मैंने प्रोग्रामिंग शुरू कर दी (और अब भी कि मैं इसे वर्षों से कर रहा हूं) Google सीखने के लिए मेरा सबसे मूल्यवान उपकरण रहा है। वहाँ बाहर ट्यूटोरियल साइटों के सभी प्रकार हैं, कोई फर्क नहीं पड़ता कि आप किस भाषा के साथ जा रहे हैं। YouTube के पास कुछ महान ट्यूटोरियल भी हैं (एक आदमी है जो "तत्पश्चात" द्वारा जाता है, जिसके पास अधिकांश भाषाओं में बहुत सारे ट्यूटोरियल हैं)। और अगर आपको पसंद है, तो lynda.com, कोडस्कूल, ट्रीहाउस और अन्य गजिलियन जैसी साइटों पर बहुत सारे व्यावसायिक ट्यूटोरियल हैं। लेकिन कोई फर्क नहीं पड़ता कि आपकी वेब खोज आपको कहां ले जाती है, यह महत्वपूर्ण है कि आप कभी भी सीखना बंद न करें।

चरण 4: कोड के रूप में आप Google।

कोड लिखना बाइक की सवारी करने जैसा है। आप सिर्फ एक किताब नहीं पढ़ सकते हैं या ऐसा करने में सक्षम होने के लिए वीडियो का एक गुच्छा देख सकते हैं। आप अपनी बाइक पर सवार हो जाते हैं, कुछ बार गिर जाते हैं, और तब तक कोशिश करते रहते हैं जब तक आप इसे लटका नहीं लेते। यह सीखने की प्रक्रिया है; खुद के साथ धैर्य रखें, और बस कोशिश करते रहें। मुझे पता है कि आप इसे कर सकते हैं, क्योंकि मैंने किया था - और जब मैंने शुरू किया था तब मैं आईटी में भी नहीं था।

चरण 5: "एपीआई" पर जाएं

बहुत सारे पाठ्यक्रम और ट्यूटोरियल आपको एक भाषा के सभी मूल सिद्धांतों के माध्यम से चलेंगे, और फिर बस रोक देंगे। यही मेरे साथ हुआ। मैंने जावा को "अकादमिक पृथ्वी" (एक और महान संसाधन FYI) पर एक वीडियो कोर्स में सीखा, और मुझे वास्तव में मूल बातें अच्छी लगीं। लेकिन एक बार कोर्स खत्म हो गया ... फिर क्या? मैंने कुछ ऐसा करने की कोशिश की, जो मेरी लीग से बाहर हो, और इससे इतना निराश हो गया कि मैंने दूसरी भाषा सीखने का फैसला किया। मैं नहीं चाहता कि आपके साथ ऐसा हो, इसलिए मैं आपको अगला चरण देने जा रहा हूं: एपीआई।

एक "एपीआई" (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) मूल रूप से "लाइब्रेरी" का एक प्रकार है जिसमें पुन: प्रयोज्य कोड, कोड होता है जो सामान को करना आसान बनाता है अन्यथा आपको खुद को करना होगा (और पहिया को फिर से क्यों बनाना है?)। मूल रूप से 3 प्रकार के एपीआई हैं:

BUILT-IN: मुझे पता है कि हर भाषा अंतर्निहित कार्यों के टन के साथ आती है जिसे आप कुछ भी स्थापित किए बिना उपयोग कर सकते हैं। वे भाषा के हिस्से के रूप में उपलब्ध हैं।

मॉड्यूल: एक मॉड्यूल, या कुछ भाषाएं इसे एसडीके (सॉफ्टवेयर डेवलपमेंट किट) कहती हैं, मूल रूप से एक एपीआई है जिसे आप डाउनलोड और इंस्टॉल करते हैं। बहुत अधिक सभी भाषाओं में एक मॉड्यूल या एसडीके की कुछ अवधारणा है।

वेब: हाल के वर्षों में डेवलपर्स जो काम कर रहे हैं, उनमें से एक अपने सर्वर पर कुछ सेवा की मेजबानी कर रहा है, फिर एपीआई बना रहा है जो अन्य डेवलपर्स उन्हें एक्सेस करने के लिए उपयोग कर सकते हैं (सर्वर अनुरोध स्क्रिप्ट पर HTTP अनुरोध भेजकर)। एक अच्छा उदाहरण साइटें हैं जो आपको "फेसबुक के साथ लॉगिन" करने की अनुमति देती हैं - आप facebook.com पर नहीं जा रहे हैं; इसके बजाय, आप जिस साइट पर हैं, उसके डेवलपर्स ने एक स्क्रिप्ट स्थापित की है जो प्रमाणीकरण के लिए फेसबुक के एपीआई का उपयोग करती है। अभी सब कुछ के बारे में वेब एपीआई हैं। वे अलग-अलग नामों (रेस्टफुल एपीआई, वेब सर्विसेज आदि) से जा सकते हैं, लेकिन वे सभी मूल रूप से एक ही अवधारणा हैं।

एक बार जब आप वास्तव में अपनी भाषा की सभी मूल बातें प्राप्त कर लेते हैं, तो उस बिंदु पर जहां आप मूर्खतापूर्ण थोड़ा सामान लिखने के लिए बीमार हैं, जो कि ज्यादा कुछ नहीं करता है, आपका अगला कदम उपलब्ध एपीआई के बारे में अधिक जानने के लिए होगा।

आखिर तुमने इसे हासिल कर ही लिया है। एक बार जब आप अपनी भाषा का सिंटैक्स प्राप्त कर लेते हैं, और कुछ अंतर्निहित एपीआई का उपयोग करना जानते हैं, तो आप आधिकारिक तौर पर कह सकते हैं कि आपने इसे सीख लिया है। यहाँ से आपके पास दो विकल्प हैं:
A. आप उस भाषा को सीखते रह सकते हैं जहाँ आप उसे अंदर-बाहर और पीछे की ओर जानते हैं। मुझे पता है कि लोग इसे पसंद करते हैं, और वे मेरे आसपास हलकों को कोड कर सकते हैं। मुझे उस स्तर पर सिर्फ एक भाषा पर ध्यान देने का समय मिलेगा। लेकिन ज्यादातर लोग दूसरे रास्ते से जाते हैं:
B. दूसरी भाषा सीखें। एक से अधिक जानने में कुछ भी गलत नहीं है, और हम में से कई लोग जानते हैं। मैंने AutoHotkey, Python, C #, C, C ++ सीख लिया है (हालाँकि C ++ का एक बहुत हिस्सा है जो मुझे अभी तक नहीं मिला है), HTML, JavaScript, PHP और probabl एक दो अन्य। क्या अच्छा है, एक बार जब आप सभी बुनियादी अवधारणाओं (चर, सरणियों, छोरों, कार्यों, वस्तुओं आदि) को जान लेते हैं, तो इसका एक बहुत दूसरों पर भी लागू होता है।

लेकिन आप जो भी भाषा सीखते हैं, उसका निचला भाग कोड बनाना सीख रहा है जो एक सतत प्रक्रिया है। मैं इसे उम्र के लिए कर रहा हूं, और मेरे पास अभी भी कभी-कभी सवाल हैं। एक गूंगा सवाल जैसी कोई चीज नहीं है (हालांकि मैं करीब आ गया हूं, योग्य)। और btw, स्पाइसवर्क्स के लिए एक प्रोग्रामिंग श्रेणी है!

हैप्पी कोडिंग!