प्रोग्रामर बनना एक संचयी प्रक्रिया है जो आपके कौशल को दिन-ब-दिन और साल-दर-साल बनाता है, और प्रोग्रामिंग मज़ेदार और फायदेमंद (मानसिक, आध्यात्मिक और आर्थिक रूप से) हो सकती है। यह मार्गदर्शिका एक प्रोग्रामर बनने के लिए जादुई रूप से आसान तरीका देने का वादा नहीं करती है, और चरणों का क्रम पवित्र नहीं है, लेकिन आपको एक सामान्य रूपरेखा मिलेगी कि आधुनिक प्रोग्रामिंग क्षेत्रों में से एक में प्रोग्रामर कैसे बनें।
कदम
चरण 1. निम्नलिखित विषयों में से एक (या उन सभी) में एक प्रारंभिक पाठ्यक्रम लें:
- तर्क
- गणित पृथक करें
- प्रोग्रामिंग भाषा (कार्यात्मक और तार्किक प्रोग्रामिंग के बाद अनुक्रमिक/प्रक्रियात्मक से ऑब्जेक्ट उन्मुख तक विभिन्न प्रोग्रामिंग प्रतिमानों में भाग लें। शुरुआती लोगों के लिए पसंदीदा रूबी/पायथन/पास्कल और कुछ अच्छी समझ के बाद सी ++/सी #/जावा में गहराई से जाएं)
विशेषज्ञ टिप
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
जीन लिनेट्स्की, एमएस
स्टार्टअप संस्थापक और इंजीनियरिंग निदेशक
ऐसा महसूस न करें कि आपको कोडिंग की डिग्री हासिल करनी है।
जबकि प्रोग्रामिंग भाषा में पाठ्यक्रम लेना सहायक हो सकता है, एक सॉफ्टवेयर इंजीनियर और स्टार्टअप संस्थापक जीन लिनेट्स्की कहते हैं:"
चरण 2. डेटाबेस अवधारणाओं जैसे टेबल, विचार/प्रश्नों और प्रक्रियाओं को जानें।
ऐसा करने के लिए आप किसी भी साधारण डेटाबेस पैकेज का उपयोग कर सकते हैं, जैसे:
- एमएस एक्सेस
- डीबी वी
- फॉक्स प्रो
- विरोधाभास
- MySQL सीखने के लिए एक अच्छा डेटाबेस है क्योंकि यह मुफ़्त है, आमतौर पर इस्तेमाल किया जाता है, और डेटाबेस को आमतौर पर SQL क्वेरीज़ के साथ एक्सेस किया जाता है
चरण 3. तय करें कि आप किस प्रकार का प्रोग्रामर बनना चाहते हैं।
प्रोग्रामर आमतौर पर निम्नलिखित श्रेणियों में से एक के अंतर्गत आते हैं:
- वेब प्रोग्रामर
-
डेस्कटॉप एप्लिकेशन प्रोग्रामर
- ऑपरेटिंग सिस्टम (OS) ओरिएंटेड प्रोग्रामर (एकल ऑपरेटिंग सिस्टम या ऑपरेटिंग सिस्टम के सेट से बंधा हुआ)
- प्लेटफ़ॉर्म-स्वतंत्र प्रोग्रामर
- वितरित अनुप्रयोग प्रोग्रामर
- पुस्तकालय/मंच/ढांचा/कोर प्रोग्रामर
-
सिस्टम प्रोग्रामर
- कर्नेल प्रोग्रामर
- ड्राइवर प्रोग्रामर
- कंपाइलर प्रोग्रामर
- प्रोग्रामिंग वैज्ञानिक
चरण 4. अपनी पसंद के प्रोग्रामिंग क्षेत्र से संबंधित तकनीकों और प्रोग्रामिंग भाषाओं को सीखें।
निम्नलिखित खंड विभिन्न प्रकार की प्रोग्रामिंग के कार्यों को विभाजित करते हैं।
विधि १ का ६: वेब प्रोग्रामिंग
चरण 1. जानें कि वेब प्रोग्रामिंग में क्या शामिल है।
वेब एप्लिकेशन सॉफ्टवेयर घटक हैं जिन्हें इंटरनेट आर्किटेक्चर के शीर्ष पर काम करने के लिए डिज़ाइन किया गया है। इसका मतलब यह है कि एप्लिकेशन को वेब ब्राउज़र सॉफ़्टवेयर जैसे फ़ायरफ़ॉक्स या इंटरनेट एक्सप्लोरर के माध्यम से एक्सेस किया जाता है। इंटरनेट आर्किटेक्चर के शीर्ष पर निर्मित होने के लिए जरूरी नहीं कि इंटरनेट से सक्रिय कनेक्शन की आवश्यकता हो। इसका मतलब है कि वेब एप्लिकेशन मानक वेब तकनीकों के शीर्ष पर बनाए गए हैं जैसे:
- एचटीटीपी
- एफ़टीपी
- पॉप 3
- एसएमटीपी
- टीसीपी
- आईपी प्रोटोकॉल
- एचटीएमएल
- एक्सएमएल
- ठंडा गलन
- एएसपी
- जेएसपी
- पीएचपी
- एएसपी.नेट
चरण २। यह जानने के लिए कि वे आमतौर पर कैसी दिखती हैं, कई विविध वेबसाइटों को ब्राउज़ करें।
(राइट क्लिक करें, फिर स्रोत देखें पर क्लिक करें या F12 दबाएं।) वेबसाइट के प्रकार/सामग्री में विविधता देखें, न कि देखी गई वेबसाइटों की मात्रा। आम तौर पर, आपको निम्न में से प्रत्येक प्रकार की वेबसाइटों में से कम से कम एक पर जाने की आवश्यकता होगी:
- कॉर्पोरेट उपस्थिति साइटें (वाणिज्यिक निगम, गैर-लाभकारी कॉर्पोरेट/संगठन, सरकारी संगठन)
- वेब अनुक्रमण इंजन (खोज इंजन, मेटा खोज साइट, विशेष खोज इंजन, निर्देशिका)
- डाटा माइनिंग साइट
- व्यक्तिगत साइटें
- सूचनात्मक / विश्वकोश पृष्ठ (विकी, डेटा शीट, तकनीकी विनिर्देश, और मैनुअल लिस्टिंग निर्देशिका, ब्लॉग और पत्रिकाएं, समाचार और समाचार एजेंसियों की साइटें, पीले पृष्ठ, आदि)
- सोशल साइट्स (सोशल पोर्टल्स, बुकमार्किंग साइट्स, नोट लेने वाली साइट्स)
- सहयोगी साइटें (इसमें ऊपर वर्णित अन्य श्रेणियां शामिल हैं, जैसे कि विकी और ब्लॉग)
चरण 3. कम से कम एक बुद्धिशीलता तकनीक/विधि और उस विधि को लागू करने के लिए उपयोग किए जाने वाले सॉफ़्टवेयर को जानें।
उदाहरण के लिए: ब्रेनस्टॉर्मिंग डायग्राम और MS Visio।
चरण 4. वेबसाइट संरचना से परिचित हों।
यह वैचारिक वेब आरेख, साइट-मानचित्र और नेविगेशन संरचनाएं बना रहा है।
चरण 5. ग्राफिक्स डिजाइन पर क्रैश कोर्स करें।
कम से कम एक ग्राफिक्स संपादन/हेरफेर सॉफ्टवेयर पैकेज सीखने का प्रयास करें (वैकल्पिक, लेकिन दृढ़ता से अनुशंसित)
चरण 6. इंटरनेट के बुनियादी ढांचे की मूल बातें जानें।
इसमें इसके बारे में एक बुनियादी विचार प्राप्त करना शामिल है:
- बेस वेब सेवा प्रोटोकॉल (HTTP, FTP, SMTP, और POP3 या IMAP4)
- वेब सर्वर सॉफ्टवेयर (अधिमानतः, उस प्लेटफॉर्म के लिए एक जिस पर आप अधिकतर काम करेंगे)
- वेब ब्राउज़िंग सॉफ्टवेयर।
- ईमेल सर्वर और क्लाइंट सॉफ्टवेयर
चरण 7. HTML और CSS भाषाएँ सीखें।
आप HTML को संपादित करने के लिए "जो आप देखते हैं वही आपको मिलता है (WYSIWYG)" सॉफ़्टवेयर पैकेज भी प्राप्त करना चाह सकते हैं।
चरण 8. XML और XML संबंधित तकनीकों को सीखें, जैसे कि XSL और XPath (वैकल्पिक लेकिन अनुशंसित)।
चरण 9. जब तक आप HTML से परिचित और सहज नहीं हो जाते, तब तक सरल स्थिर वेबसाइटें बनाएं।
चरण 10. क्लाइंट-साइड स्क्रिप्टिंग भाषा सीखें।
अधिकांश उपयोगकर्ता जावास्क्रिप्ट सीखते हैं। कुछ वीबीस्क्रिप्ट सीखते हैं, लेकिन यह अधिकांश ब्राउज़रों के साथ संगत नहीं है।
चरण 11. आपके द्वारा सीखी गई क्लाइंट-साइड स्क्रिप्टिंग भाषा से स्वयं को परिचित कराएं।
केवल उसी भाषा का उपयोग करके अपनी क्षमता तक पहुँचने का प्रयास करें। अपने क्लाइंट-साइड स्क्रिप्टिंग भाषा से कम से कम परिचित होने के बाद ही अगले चरण पर जाएं।
चरण 12. कम से कम एक सर्वर-साइड प्रोग्रामिंग भाषा सीखें।
यदि आप स्वयं को एक सर्वर सॉफ़्टवेयर तक सीमित रखना चुनते हैं, तो उस सॉफ़्टवेयर द्वारा समर्थित प्रोग्रामिंग भाषाओं में से एक सीखें। यदि नहीं, तो प्रत्येक सर्वर सॉफ़्टवेयर पर कम से कम एक प्रोग्रामिंग भाषा सीखें।
चरण 13. एक पायलट प्रोजेक्ट बनाएं सर्वर-साइड प्रोग्रामिंग भाषा सीखने के बाद अपने लिए।
चरण 14. अपनी स्वयं की वेबसाइट प्राप्त करें और अपने स्वयं के पृष्ठ के भीतर ऑनलाइन प्रयोग करना प्रारंभ करें।
विधि २ का ६: डेस्कटॉप अनुप्रयोग प्रोग्रामिंग
चरण 1. जानें कि आप डेस्कटॉप एप्लिकेशन प्रोग्रामिंग के साथ क्या कर रहे हैं।
अधिकांश डेस्कटॉप प्रोग्रामर व्यावसायिक समाधानों के लिए कोड लिखते हैं, इसलिए व्यवसायों के बारे में एक विचार प्राप्त करना, उनकी संगठनात्मक और वित्तीय संरचना एक बड़ा समय बचाने वाला होगा।
चरण 2. विभिन्न कंप्यूटर हार्डवेयर आर्किटेक्चर के बारे में जानें।
डिजिटल सर्किट डिजाइन में एक परिचयात्मक स्तर का पाठ्यक्रम और दूसरा कंप्यूटर वास्तुकला में उपयोगी है; हालांकि, कुछ इसे शुरुआती बिंदु के लिए उन्नत होने के रूप में देखते हैं, इसलिए दो या तीन ट्यूटोरियल लेख (जैसे यह एक और यह एक) पढ़ना पर्याप्त हो सकता है। फिर आप अपनी पहली प्रोग्रामिंग भाषा सीखने के बाद बाद में इस चरण पर वापस जा सकते हैं।
चरण 3. एक प्रवेश-स्तर (बच्चों की) प्रोग्रामिंग भाषा सीखें।
ऐसी भाषा सीखने में संकोच न करें क्योंकि आप "बच्चे" कहलाने से बड़े हैं। इन प्रोग्रामिंग भाषाओं का एक उदाहरण स्क्रैच हो सकता है। ये प्रोग्रामिंग भाषाएं आपकी पहली प्रोग्रामिंग भाषा सीखने के दर्द को काफी हद तक कम कर सकती हैं। हालाँकि, यह चरण वैकल्पिक है। यह पिछले चरण से पहले भी किया जा सकता है।
चरण 4. प्रक्रियात्मक का परिचय प्राप्त करें, वस्तु के उन्मुख, तथा कार्यात्मक प्रोग्रामिंग प्रतिमान।
चरण 5. प्रक्रियात्मक प्रोग्रामिंग भाषाओं में से एक में एक प्रारंभिक पाठ्यक्रम लें।
कोई फर्क नहीं पड़ता कि आप अपनी पसंद की भाषा के लिए बाद में कौन सी भाषा चुनते हैं, इसके लिए किसी न किसी स्तर पर प्रक्रियात्मक प्रोग्रामिंग की आवश्यकता होगी। साथ ही, अधिकांश प्रोग्रामर द्वारा प्रक्रियात्मक प्रोग्रामिंग को सामान्य रूप से प्रोग्रामिंग का विचार प्राप्त करने के लिए शुरुआती बिंदु के रूप में उपयोग करने में सबसे आसान बताया गया है।
चरण 6. कम से कम एक उन्नत मॉडलिंग तकनीक जैसे यूएमएल या ओआरएम सीखें।
चरण 7. कुछ छोटे कंसोल या कंसोल जैसे एप्लिकेशन लिखना प्रारंभ करें।
आप प्रोग्रामिंग भाषाओं की किताबों में सामान्य छोटे अभ्यासों का उपयोग कर सकते हैं। इसके लिए आप जिस प्रोग्रामिंग भाषा में लिख रहे हैं उसमें प्रोग्राम लिखने के लिए एक टूल चुनें।
चरण 8. अपनी चुनी हुई प्रोग्रामिंग भाषा में अधिक उन्नत पाठ्यक्रम लें।
सुनिश्चित करें कि आप निम्नलिखित अवधारणाओं को अच्छी तरह समझते हैं और आगे बढ़ने से पहले आप उन्हें सापेक्ष आसानी से लागू कर सकते हैं:
- किसी प्रोग्राम के उपयोगकर्ताओं को जानकारी इनपुट और आउटपुट करना।
- तार्किक प्रवाह और प्रक्रियात्मक भाषाओं में कार्यक्रमों का निष्पादन प्रवाह।
- चर घोषित करना, असाइन करना और तुलना करना।
- ब्रांचिंग प्रोग्रामिंग कंस्ट्रक्शन जैसे if..then..else और सेलेक्ट/स्विच..केस।
- लूपिंग कंस्ट्रक्शंस जैसे कि जबकि..डू, डू..जबकि/जब तक, फॉर..नेक्स्ट।
- प्रक्रियाओं और कार्यों को बनाने और कॉल करने के लिए आपका प्रोग्रामिंग भाषा सिंटैक्स।
- डेटा प्रकार और उनमें हेरफेर।
- उपयोगकर्ता परिभाषित डेटा प्रकार (रिकॉर्ड/स्ट्रक्चर/इकाइयां) और उनका उपयोग।
- यदि आपकी भाषा ओवरलोडिंग कार्यों का समर्थन करती है, तो इसे समझें।
- आपकी पसंद की भाषा की मेमोरी एक्सेस करने के तरीके (पॉइंटर्स, पीकिंग, आदि)
- यदि आपकी भाषा ऑपरेटरों को ओवरलोडिंग का समर्थन करती है, तो इसे समझें।
- यदि आपकी भाषा प्रतिनिधियों/फ़ंक्शन पॉइंटर्स का समर्थन करती है, तो इसे समझें।
चरण 9. आपके द्वारा सीखी गई उन्नत तकनीकों को लागू करें।
चरण 10. किसी अन्य प्रोग्रामिंग प्रतिमान में कम से कम एक और प्रोग्रामिंग भाषा में एक प्रारंभिक पाठ्यक्रम लें।
प्रत्येक प्रतिमान की एक प्रोग्रामिंग भाषा सीखने की अनुशंसा की जाती है, और अधिकांश उन्नत प्रोग्रामर करते हैं, हालांकि, आप आमतौर पर एक के साथ शुरू करते हैं, अपने ज्ञान को लागू करने और इसका अभ्यास करने के लिए कुछ समय के लिए काम करते हैं, फिर बाद में दूसरे को सीखते हैं, जब आपके पास पहले से ही एक वास्तविक प्रोग्रामिंग में -जीवन का अनुभव। निम्नलिखित भाषा क्षेत्रों में से एक का प्रयास करें:
- तर्क प्रोग्रामिंग प्रतिमान।
- कार्यात्मक प्रोग्रामिंग प्रतिमान।
- वस्तु-उन्मुख प्रतिमान।
चरण 11. अब तक सीखी गई दो प्रोग्रामिंग भाषाओं की तुलना करने का प्रयास करें।
प्रत्येक की ताकत और कमजोरियों का मूल्यांकन करें। आमतौर पर इसके द्वारा किया जाता है:
- पहली प्रोग्रामिंग भाषा में अपने प्रारंभिक कार्य के सरल नमूने लेना और दूसरी प्रोग्रामिंग भाषा का उपयोग करके इसे फिर से लिखना।
- एक नया प्रोजेक्ट बनाना और दोनों भाषाओं का उपयोग करके इसे लागू करने का प्रयास करना। कभी-कभी, आपकी पसंद की परियोजना और भाषाओं के आधार पर, हो सकता है कि आप किसी एक भाषा में परियोजना को लागू करने में सक्षम न हों!
- दो भाषाओं में समान संरचनाओं के बीच एक चीट-शीट या सारांश-तालिका तुलना लिखना और प्रत्येक भाषा के लिए अद्वितीय विशेषताएं।
- उन विशेषताओं की नकल करने के तरीके खोजने का प्रयास करें जो दूसरी भाषा का उपयोग करने वाली दो भाषाओं में से एक के लिए अद्वितीय हैं।
चरण 12. आपके द्वारा सीखी गई भाषाओं में से किसी एक का उपयोग करके दृश्य प्रोग्रामिंग अवधारणाओं को सीखें।
लगभग सभी प्रोग्रामिंग भाषाओं में ऐसे संस्करण / पुस्तकालय होते हैं जो दृश्य प्रोग्रामिंग का समर्थन करते हैं और अन्य कंसोल या कंसोल जैसी प्रोग्रामिंग का समर्थन करते हैं। इसे इसके द्वारा पूरा किया जा सकता है:
- इवेंट-संचालित प्रोग्रामिंग का परिचय प्राप्त करें। अधिकांश दृश्य प्रोग्रामिंग किसी न किसी स्तर पर ईवेंट और ईवेंट हैंडलिंग (आपके द्वारा चुनी गई प्रोग्रामिंग भाषा का उपयोग करके) पर निर्भर करती है।
- जितना हो सके डेस्कटॉप सॉफ्टवेयर आज़माएं और समझें कि सॉफ्टवेयर क्या करता है। अधिकांश सॉफ्टवेयर विकास कंपनियां अपने उत्पादों के बीटा-परीक्षण संस्करण पेश करती हैं जिनका उपयोग आप सॉफ्टवेयर का परीक्षण करने के लिए कर सकते हैं। उपयोगकर्ता इंटरफ़ेस प्रगति पर अद्यतित रहें।
- ग्राफिकल यूजर इंटरफेस पर कुछ लेख या ट्यूटोरियल पढ़ें।
चरण 13. अपने द्वारा डिज़ाइन किए गए छोटे सॉफ़्टवेयर प्रोजेक्ट्स पर अपने ज्ञान को लागू करना प्रारंभ करें।
अपने दैनिक जीवन में आने वाली समस्याओं पर अपनी प्रोग्रामिंग विशेषज्ञता को लागू करने का प्रयास करें। उदाहरण के लिए, ऐसे प्रोग्राम लिखें जो बड़े पैमाने पर फाइलों का नाम बदलते हैं, टेक्स्ट फाइलों की दृष्टि से तुलना करते हैं, निर्देशिका में फाइलों के नामों को मेमोरी/टेक्स्ट फाइल में कॉपी करते हैं, और इस तरह की चीजें। पहले इसे सरल रखें।
चरण 14. वर्चुअल ग्रेजुएशन प्रोजेक्ट बनाएं।
अब तक सीखी गई विजुअल प्रोग्रामिंग की तकनीकों को लागू करते हुए इसे अंत तक पूरा करें।
चरण 15. उन्नत पाठ्यक्रम लेकर, विस्तार पर अतिरिक्त ध्यान देकर और ऑनलाइन संसाधनों से अपने ढांचे के लिए अधिक टिप्स और ट्रिक्स सीखकर आपके द्वारा पहले सीखे गए विज़ुअल फ्रेमवर्क/लाइब्रेरी/पैकेज के बारे में अपनी समझ का विस्तार करें।
चरण 16. अपनी प्रोग्रामिंग भाषाओं के लिए विज़ुअल तत्वों के अन्य पैकेज/लाइब्रेरी खोजें और उन्हें सीखें।
चरण 17. ग्राफिक्स का कोर्स करें (ग्राफिक्स डिजाइन नहीं)।
यह उन प्रोग्रामर्स के लिए बहुत मददगार होगा जो आकर्षक यूजर-इंटरफेस एलिमेंट लिखना चाहते हैं।
चरण 18. गेम प्रोग्रामर बनने पर विचार करें (वैकल्पिक)।
गेम प्रोग्रामिंग को इसके अधिकांश हिस्सों में डेस्कटॉप प्रोग्रामिंग माना जाता है। यदि आप एक गेम प्रोग्रामर बनने का इरादा रखते हैं, तो इन चरणों को पूरा करने के बाद आपको गेम प्रोग्रामिंग के बारे में अधिक जानने की आवश्यकता होगी। गेम प्रोग्रामर के लिए एक ग्राफिक्स कोर्स जरूरी है और पूर्ववर्ती चरणों में पसंद की दूसरी भाषा एक तर्क/कार्यात्मक प्रोग्रामिंग भाषा (अधिमानतः प्रोलॉग या लिस्प) होनी चाहिए।
विधि 3 का 6: वितरित अनुप्रयोग प्रोग्रामिंग
चरण 1. वितरित एप्लिकेशन प्रोग्रामिंग से निपटें।
वितरित एप्लिकेशन प्रोग्रामिंग को कई लोगों द्वारा सीखने में सबसे कठिन माना जाता है और इसके लिए कंप्यूटर और संचार प्रौद्योगिकियों में विविध ज्ञान की आवश्यकता होती है।
चरण 2. टेलीफोनी सिस्टम और उनके हार्डवेयर के लिए गति परिचय लें।
यह चरण वैकल्पिक है। हालाँकि, यह नेटवर्क टोपोलॉजी को समझने में बहुत उपयोगी है।
चरण 3. नेटवर्किंग हार्डवेयर आर्किटेक्चर और हब, स्विच और राउटर जैसे उपकरणों से खुद को परिचित करें।
चरण 4. नेटवर्किंग प्रोटोकॉल और अनिवार्यताओं में एक कोर्स करें।
वितरित अनुप्रयोगों की प्रोग्रामिंग शुरू करने से पहले आपको ओपन सिस्टम इंटरकनेक्शन (ओएसआई) मॉडल, ईथरनेट, आईपी, टीसीपी, यूडीपी और एचटीटीपी की अच्छी समझ की आवश्यकता है।
चरण 5. एक्सएमएल भाषा सीखें और इससे खुद को परिचित करें।
चरण 6. शेल स्क्रिप्टिंग भाषा सीखकर शुरुआत करें।
विंडोज-आधारित प्रोग्रामिंग के लिए, वह कोई भी स्क्रिप्ट होगी जो विंडोज स्क्रिप्टिंग होस्ट के साथ काम करती है। लिनक्स-आधारित प्रोग्रामिंग के लिए, बैश स्क्रिप्ट और पर्ल पर्याप्त होंगे। निम्नलिखित कारणों से दोनों प्लेटफार्मों में इसके लिए जावास्क्रिप्ट की दृढ़ता से अनुशंसा की जाती है:
- यह किसी भी ऑपरेटिंग सिस्टम में लगभग किसी भी स्क्रिप्टिंग होस्ट द्वारा समर्थित है (विंडोज स्क्रिप्टिंग होस्ट डिफ़ॉल्ट रूप से जावास्क्रिप्ट का समर्थन करता है, अधिकांश लिनक्स वितरण में जावास्क्रिप्ट स्क्रिप्टिंग कंसोल समर्थन के लिए एक पैकेज है)।
- कई डेवलपर्स द्वारा इसे सीखना आसान माना जाता है।
- इसमें एक ALGOL व्युत्पन्न सिंटैक्स है जो आपको दूसरी प्रोग्रामिंग भाषा (C, C++, C#, Java और J# सभी में ALGOL व्युत्पन्न सिंटैक्स) चुनने की आवश्यकता होने पर अन्य प्रोग्रामिंग भाषाओं से परिचित कराता है।
- जावास्क्रिप्ट सीखकर, आप वेब पेजों की क्लाइंट-साइड स्क्रिप्टिंग से खुद को परिचित करते हैं जो एक बोनस साइड-इफेक्ट है!
चरण 7. पहले अपनी पसंद की स्क्रिप्टिंग भाषा का उपयोग करके केवल प्रक्रियात्मक प्रोग्रामिंग लागू करें।
बाद में, आप अपनी स्क्रिप्टिंग भाषा और इसके समर्थन के अनुसार अधिक उन्नत प्रोग्रामिंग तकनीकों और प्रतिमानों का उपयोग कर सकते हैं। सभी स्क्रिप्टिंग भाषाओं में किसी न किसी स्तर पर कुछ प्रक्रियात्मक प्रोग्रामिंग पहलू होते हैं।
चरण 8. मशीनों के बीच संचार करने वाली स्क्रिप्ट लिखने के लिए सीखी गई स्क्रिप्टिंग भाषा का उपयोग करें।
जानें कि ऐसा करने के लिए क्या जरूरी है। सरल संचार पर्याप्त होगा।
चरण 9. डेस्कटॉप स्क्रिप्टिंग/प्रोग्रामिंग भाषा में स्थानांतरण करें।
अधिमानतः, वह जो एक बहु-प्रतिमान भाषा है जैसे कि पायथन। उस दूसरी भाषा का सरल परिचय लें। अधिकांश प्रोग्रामर जावा को कई कारणों से पसंद की भाषा मानते हैं। हालाँकि, C# इस क्षेत्र में तेजी से गति प्राप्त कर रहा है। जावा और सी# निम्नलिखित कारणों से पसंद किए जाते हैं:
- वे ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज हैं जो बड़ी टीमों में प्रोग्रामर को कार्यान्वयन विवरण से बचाती हैं क्योंकि वे दोनों घटकों (कोड की इकाइयाँ, पूर्व-संकलित, जो एक निश्चित कार्य करती हैं और अन्य कार्यक्रमों में उपयोग की जा सकती हैं) का समर्थन करती हैं।
- वे किसी स्तर पर ईवेंट-संचालित प्रोग्रामिंग, साथ ही OO और प्रक्रियात्मक प्रोग्रामिंग का समर्थन करते हैं।
- भाषा जिस ढांचे पर बनी है वह प्रकृति द्वारा वितरित की जाती है (जावा के मामले में)।
- कई तैयार पैकेजों की उपलब्धता जो नेटवर्किंग से संबंधित हैं, ओपन-सोर्स कोड और फ्रेमवर्क बिल्ट-इन पैकेज दोनों के रूप में; इससे प्रोग्रामर के लिए दूसरों के काम पर निर्माण करना आसान हो जाता है।
चरण 10. भाषा की मुख्य विशेषताओं पर अधिक ध्यान केंद्रित करें, विशेष रूप से जो नेटवर्किंग का समर्थन करते हैं।
आउटपुट, विंडो डिज़ाइन और तकनीकों और उपयोगकर्ता-इंटरफ़ेस तत्वों जैसे उपयोगकर्ता-इंटरफ़ेस तत्वों पर कम ध्यान दें।
चरण 11. वितरित अनुप्रयोगों के डिजाइन और वास्तुकला पर एक पाठ्यक्रम लें।
यह किताबों, ऑनलाइन ट्यूटोरियल या अकादमिक पाठ्यक्रमों का उपयोग करके किया जा सकता है। हालांकि, वितरित अनुप्रयोगों की वास्तुकला और इसकी अवधारणाओं को समझना आवश्यक है।
चरण 12. अपनी पसंद की प्रोग्रामिंग भाषा का उपयोग करके सेवित घटकों और सेवाओं के निर्माण के बारे में जानें।
चरण 13. निम्नलिखित तकनीकों में से एक या अधिक जानें।
यह अनुशंसा की जाती है कि आप उन सभी के लिए कम से कम एक परिचय प्राप्त करें। अधिकांश वितरित एप्लिकेशन प्रोग्रामर एक या दो प्रोग्रामिंग भाषाओं पर नहीं रुकते हैं, लेकिन प्रत्येक ऑपरेटिंग सिस्टम पर कम से कम एक प्रोग्रामिंग भाषा सीखते हैं। ऐसा इसलिए है क्योंकि यदि आप चाहते हैं कि आपका एप्लिकेशन "वितरित" हो, तो आपको कम से कम प्रत्येक प्रमुख ऑपरेटिंग सिस्टम के लिए इसका एक संस्करण प्रदान करना चाहिए।
- कॉमन ऑब्जेक्ट रिक्वेस्ट ब्रोकर आर्किटेक्चर (CORBA)
- सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल (SOAP)
- अतुल्यकालिक जावास्क्रिप्ट और एक्सएमएल (AJAX)
- वितरित घटक वस्तु मॉडल (DCOM)
- .नेट रिमोटिंग
- एक्सएमएल वेब सेवाएं
6 में से विधि 4: लाइब्रेरी/प्लेटफ़ॉर्म/फ्रेमवर्क/कोर प्रोग्रामिंग
चरण 1. जानें कि कोर प्रोग्रामिंग क्या है।
कोर प्रोग्रामर केवल उन्नत प्रोग्रामर हैं जिन्होंने प्रोग्रामिंग एप्लिकेशन से प्रोग्रामिंग कोड इकाइयों को अन्य प्रोग्रामर द्वारा उपयोग किए जाने के लिए स्थानांतरण किया है।
चरण 2. एक प्रोग्रामिंग भाषा सीखें जो पुन: प्रयोज्य घटकों/पैकेजों के निर्माण का समर्थन करती है, यदि आपने पहले से ऐसा नहीं किया है।
चरण 3. यूएमएल और ओआरएम में एक उन्नत पाठ्यक्रम लें।
अधिकांश पुस्तकालय डेवलपर उनमें से एक या दोनों का उपयोग करते हैं।
चरण 4. सॉफ्टवेयर इंजीनियरिंग का कोर्स करें।
चरण 5. कम से कम मॉड्यूलर, घटक-आधारित, वस्तु-उन्मुख, और घटना-संचालित प्रोग्रामिंग तकनीकों और अवधारणाओं को जानें।
जितने अधिक प्रोग्रामिंग प्रतिमान और भाषाएं आप कवर करते हैं, उतने ही अधिक आप एक पुस्तकालय/पैकेज प्रोग्रामर के रूप में सफल होते हैं।
चरण 6. इन ऑपरेटिंग सिस्टमों द्वारा समर्थित विभिन्न ऑपरेटिंग सिस्टम और प्रोग्रामिंग फ्रेमवर्क के बारे में अधिक जानें।
चरण 7. अपने सीखने के प्रयासों को प्लेटफॉर्म-स्वतंत्र ढांचे, प्रोग्रामिंग भाषाओं और प्रौद्योगिकियों पर केंद्रित करें।
चरण 8. यदि आपने अभी तक जो प्रोग्रामिंग भाषाएं सीखी हैं उनमें एएनएसआई है/आईएसओ/आईईईई/W3C मानक संस्करण, मानकों में महारत हासिल करते हैं।
जब भी संभव हो मानक कोड का उपयोग करने का प्रयास करें।
चरण 9. सरल, पहले से स्थापित पुस्तकालयों की नकल करने का प्रयास करें, विशेष रूप से ओपन-सोर्स वाले।
पुस्तकालय/पैकेज प्रोग्रामर बनने के प्रारंभिक चरण के दौरान यह उपयोगी है। इकाइयों के रूपांतरण और मध्यवर्ती वैज्ञानिक गणना पैकेज जैसे सरल पैकेजों से शुरू करें। यदि आप एक कॉलेज के छात्र हैं, तो अपने गैर-प्रोग्रामिंग पाठ्यक्रमों का उपयोग उनके समीकरणों और वैज्ञानिक मूल को पुस्तकालयों के रूप में लागू करने का प्रयास करके करें।
चरण 10. प्रोग्रामिंग के अपने क्षेत्र में ओपन-सोर्स पैकेज खोजें और आज़माएं।
पैकेज के पहले बायनेरिज़ / एक्ज़ीक्यूटेबल डाउनलोड करें। इसका उपयोग करने का प्रयास करें और इसके मजबूत और कमजोर बिंदुओं का पता लगाएं। ऐसा करने के बाद, स्रोत डाउनलोड करें और यह पता लगाने का प्रयास करें कि यह कैसे किया गया था। उन पुस्तकालयों या उनके कुछ हिस्सों को फिर से बनाने का प्रयास करें। सबसे पहले, कोड देखने के बाद और बाद में कोड देखने से पहले ऐसा करें। बाद के चरणों में, उन पुस्तकालयों में सुधार करने का प्रयास करें।
चरण 11. प्रोग्रामर्स को घटकों को वितरित और परिनियोजित करने के लिए उपयोग किए जाने वाले विभिन्न तरीकों के बारे में जानें।
- आमतौर पर, पुस्तकालय/पैकेज प्रोग्रामर उन सभी समस्याओं के बारे में पुनरावर्ती और/या पुनरावृत्त रूप से सोचते हैं जिनके साथ वे प्रस्तुत किए जाते हैं।प्रत्येक समस्या को छोटी समस्याओं के संग्रह (सरल कार्यों का एक क्रम) के रूप में या समस्या के दायरे को छोटे दायरे में कम करने और फिर उन क्षेत्रों को एक-दूसरे पर ढेर करने की एक दोहराई जाने वाली प्रक्रिया के रूप में सोचने का प्रयास करें।
- पुस्तकालय/पैकेज प्रोग्रामर सामान्यीकरण करते हैं। अर्थात्, जब एक साधारण विशिष्ट समस्या के साथ प्रस्तुत किया जाता है, तो वे आमतौर पर एक अधिक सामान्य समस्या के बारे में सोचते हैं और उस सामान्य समस्या को हल करने का प्रयास करते हैं जो स्वचालित रूप से छोटी समस्या को हल कर देगी।
विधि ५ का ६: सिस्टम प्रोग्रामिंग
चरण 1. समझें कि सिस्टम प्रोग्रामिंग में क्या शामिल है।
सिस्टम प्रोग्रामर प्रोग्रामिंग के विज्ञान से निपटते हैं न कि इसके विशिष्ट कार्यान्वयन से। अपने आप को एक विशिष्ट मंच से न बांधें।
चरण 2. डेस्कटॉप एप्लिकेशन प्रोग्रामर्स के लिए पहले तीन चरणों का पालन करें।
चरण 3. रैखिक बीजगणित में एक प्रारंभिक पाठ्यक्रम लें।
चरण 4. कैलकुलस में एक कोर्स करें।
चरण 5. तर्क और/या असतत गणित का पाठ्यक्रम लें।
चरण 6. विभिन्न नंगे ऑपरेटिंग सिस्टम से अपना परिचय दें।
इसके द्वारा किया जा सकता है:
- ऑपरेटिंग सिस्टम कैसे स्थापित किए जाते हैं, इस पर एक विचार प्राप्त करना।
- एक पीसी पर विभिन्न ऑपरेटिंग सिस्टम स्थापित करना सीखना (वैकल्पिक, लेकिन अनुशंसित)।
- एक से अधिक ऑपरेटिंग सिस्टम स्थापित करना। सिस्टम पर कोई मदद पैकेज स्थापित न करें; इसके बजाय, ऑपरेटिंग सिस्टम द्वारा प्रदान की गई नंगे कार्यात्मकताओं का उपयोग करें।
चरण 7. कंप्यूटर हार्डवेयर आर्किटेक्चर पर एक कोर्स (या वैकल्पिक रूप से, किताबें पढ़ें) लें।
चरण 8. विभिन्न कंप्यूटर हार्डवेयर प्लेटफॉर्म की समझ विकसित करें।
चरण 9. पसंद के हार्डवेयर प्लेटफॉर्म/ऑपरेटिंग सिस्टम की असेंबली भाषा से परिचयात्मक जानकारी प्राप्त करें।
आप बाद में अन्य प्लेटफॉर्म/सिस्टम की असेंबली के बारे में जानेंगे।
चरण 10. प्रक्रियात्मक प्रोग्रामिंग की अवधारणाओं के साथ-साथ एएनएसआई सी और सी++ भाषाएं सीखें।
चरण 11. पसंद के प्लेटफॉर्म पर C/C++ मानक पुस्तकालयों को समझें और अभ्यास करें।
स्टैंडर्ड टेम्प्लेट लाइब्रेरी (STL) और शायद एक्टिव टेम्प्लेट लाइब्रेरी (ATL) पर विशेष ध्यान दें।
चरण 12. अपने विशिष्ट प्लेटफॉर्म के सी-फ्लेवर की समझ प्राप्त करने के लिए ऑनलाइन संसाधन, किताबें और पाठ्यक्रम खोजें।
चरण 13. C और C++ के साथ उन्नत कोड बनाने का अभ्यास करें।
चरण 14. अधिक उन्नत असेंबली सीखें।
चरण 15. ऑपरेटिंग सिस्टम डिजाइन में एक कोर्स करें।
चरण 16. अपनी पसंद के विशिष्ट प्लेटफ़ॉर्म के दस्तावेज़ ढूँढें और पढ़ें।
यदि आप यूनिक्स-आधारित ऑपरेटिंग सिस्टम चुनते हैं तो यह आसान हो जाएगा। उस प्रणाली को समझें जिसके साथ आप बाद में अच्छी तरह से काम करेंगे।
चरण 17. अपने अर्जित ज्ञान का अभ्यास करें।
पहले छोटे सिस्टम यूटिलिटीज बनाएं। यह आमतौर पर उपयोगी होता है:
- आपके सिस्टम पर पहले से मौजूद छोटे टूल को फिर से बनाने की कोशिश की जा रही है।
- अन्य ऑपरेटिंग सिस्टम में उपलब्ध उपयोगिताओं को आपके पास पोर्ट करने का प्रयास कर रहा है।
चरण 18. सबसे उपयोगी क्रम में भाषाएं सीखें।
यह एकमात्र स्थान है जहां पहली प्रोग्रामिंग भाषा मायने रखती है। पहले एएनएसआई सी सीखें, सी ++ नहीं, सी # नहीं, जावा नहीं और डी नहीं। फिर सी ++ सीखें।
-
पहली भाषा को केवल C और C तक सीमित करना इसलिए है क्योंकि सिस्टम प्रोग्रामिंग के लिए आवश्यक है कि प्रोग्रामर निम्नलिखित अवधारणाओं से परिचित हो:
- स्रोत कोड का वास्तविक और पूर्ण संकलन।
- निम्न-स्तरीय ऑब्जेक्ट आउटपुट फ़ाइलें।
- बाइनरी लिंकिंग।
- निम्न-स्तरीय मशीन-भाषा/असेंबली प्रोग्रामिंग। सी भाषा को कुछ लोगों द्वारा असेंबली सीखने के लिए एक छद्म/आसान कहा जाता है। जब भी आप कृपया कोड में असेंबली भाषा कोड डालने का भी समर्थन करते हैं और यह केवल प्रक्रियात्मक (असेंबली की तरह) है।
विधि 6 का 6: प्रोग्रामिंग विज्ञान
चरण 1. जानें कि एक प्रोग्रामिंग वैज्ञानिक क्या करता है।
प्रोग्रामिंग वैज्ञानिक बहुत उन्नत प्रोग्रामर हैं, जो विकासशील अनुप्रयोगों पर काम करने के बजाय, एन्क्रिप्शन, प्रोग्रामिंग भाषाओं और डेटा माइनिंग एल्गोरिदम जैसी कंप्यूटिंग तकनीकों को विकसित करने पर काम करते हैं। अकादमिक अध्ययन और समर्पण के बिना यह स्तर शायद ही कभी हासिल किया जाता है।
चरण २। कंप्यूटर विज्ञान में चार साल की डिग्री के बराबर वैज्ञानिक ज्ञान संचित करें।
यह या तो द्वारा किया जा सकता है:
- एक वास्तविक शैक्षणिक डिग्री लेना (जो आमतौर पर होता है)।
- आधुनिक विश्वविद्यालयों में से किसी एक से इस तरह की डिग्री के लिए पाठ्यक्रमों की रूपरेखा प्राप्त करना और पाठ्यक्रम या तो स्व-अध्ययन या अलग पाठ्यक्रमों के रूप में लेना। यह सैद्धांतिक रूप से प्राप्त किया जा सकता है, लेकिन अनुशंसित पथ पहला है।
चरण 3. विशेषता का क्षेत्र तय करें।
अधिक विशिष्ट, बेहतर। यह आपकी पसंद पर निर्भर करता है। हालाँकि, यहाँ कंप्यूटर प्रोग्रामिंग विज्ञान के कुछ प्रमुख विषयों की सूची दी गई है:
- एल्गोरिथम डिज़ाइन (खोज, छँटाई, एन्क्रिप्शन, डिक्रिप्शन और संचार में त्रुटि का पता लगाना कुछ उदाहरण हैं)
- प्रोग्रामिंग भाषाएं/कंपाइलर डिजाइन/अनुकूलन
- कृत्रिम बुद्धिमत्ता क्षेत्र (पैटर्न पहचान, वाक् पहचान, प्राकृतिक भाषा प्रसंस्करण, तंत्रिका नेटवर्क)
- रोबोटिक
- वैज्ञानिक प्रोग्रामिंग
- सुपर कंप्यूटिंग
- कंप्यूटर एडेड डिजाइन/मॉडलिंग (सीएडी/सीएएम)
- आभासी वास्तविकता
- कंप्यूटर ग्राफिक्स (कंप्यूटर ग्राफिक्स आमतौर पर ग्राफिकल डिज़ाइन या ग्राफिकल यूजर इंटरफेस डिज़ाइन के साथ गलत तरीके से भ्रमित होते हैं। कंप्यूटर ग्राफिक्स कंप्यूटर सिस्टम में ग्राफिक्स का प्रतिनिधित्व और हेरफेर करने का अध्ययन करने का क्षेत्र है।)
चरण 4. उच्च शैक्षणिक डिग्री प्राप्त करने पर विचार करें।
आप मास्टर डिग्री या डॉक्टरेट करना चाह सकते हैं।