You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/hi/1-getting-started-lessons/1-intro-to-programming-lang.../README.md

27 KiB

प्रोग्रामिंग भाषाओं और उपकरणों का परिचय

यह पाठ प्रोग्रामिंग भाषाओं की मूल बातें कवर करता है। यहां शामिल विषय आज की अधिकांश आधुनिक प्रोग्रामिंग भाषाओं पर लागू होते हैं। 'टूल्स ऑफ द ट्रेड' अनुभाग में, आप उपयोगी सॉफ़्टवेयर के बारे में जानेंगे जो एक डेवलपर के रूप में आपकी मदद करता है।

Intro Programming

स्केच नोट Tomomi Imura द्वारा

प्री-लेक्चर क्विज़

प्री-लेक्चर क्विज़

परिचय

इस पाठ में, हम कवर करेंगे:

  • प्रोग्रामिंग क्या है?
  • प्रोग्रामिंग भाषाओं के प्रकार
  • प्रोग्राम के मूल तत्व
  • पेशेवर डेवलपर के लिए उपयोगी सॉफ़्टवेयर और टूलिंग

आप इस पाठ को Microsoft Learn पर ले सकते हैं!

प्रोग्रामिंग क्या है?

प्रोग्रामिंग (जिसे कोडिंग भी कहा जाता है) एक कंप्यूटर या मोबाइल डिवाइस जैसे उपकरण के लिए निर्देश लिखने की प्रक्रिया है। हम इन निर्देशों को एक प्रोग्रामिंग भाषा के साथ लिखते हैं, जिसे फिर डिवाइस द्वारा समझा जाता है। इन निर्देशों के सेट को विभिन्न नामों से जाना जा सकता है, लेकिन प्रोग्राम, कंप्यूटर प्रोग्राम, एप्लिकेशन (ऐप), और एक्ज़ीक्यूटेबल कुछ लोकप्रिय नाम हैं।

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

थोड़ा शोध करें: किसे दुनिया का पहला कंप्यूटर प्रोग्रामर माना जाता है?

प्रोग्रामिंग भाषाएं

प्रोग्रामिंग भाषाएं डेवलपर्स को डिवाइस के लिए निर्देश लिखने में सक्षम बनाती हैं। डिवाइस केवल बाइनरी (1s और 0s) को समझ सकते हैं, और अधिकांश डेवलपर्स के लिए यह संवाद करने का बहुत प्रभावी तरीका नहीं है। प्रोग्रामिंग भाषाएं मनुष्यों और कंप्यूटरों के बीच संचार का माध्यम हैं।

प्रोग्रामिंग भाषाएं विभिन्न स्वरूपों में आती हैं और विभिन्न उद्देश्यों की पूर्ति कर सकती हैं। उदाहरण के लिए, जावास्क्रिप्ट मुख्य रूप से वेब एप्लिकेशन के लिए उपयोग की जाती है, जबकि बैश मुख्य रूप से ऑपरेटिंग सिस्टम के लिए उपयोग की जाती है।

लो लेवल भाषाएं आमतौर पर हाई लेवल भाषाओं की तुलना में डिवाइस को निर्देशों को समझने के लिए कम चरणों की आवश्यकता होती है। हालांकि, हाई लेवल भाषाओं को उनकी पठनीयता और समर्थन के कारण लोकप्रिय माना जाता है। जावास्क्रिप्ट को एक हाई लेवल भाषा माना जाता है।

निम्नलिखित कोड जावास्क्रिप्ट के साथ एक हाई लेवल भाषा और एआरएम असेंबली कोड के साथ एक लो लेवल भाषा के बीच अंतर को दर्शाता है।

let number = 10
let n1 = 0, n2 = 1, nextTerm;

for (let i = 1; i <= number; i++) {
    console.log(n1);
    nextTerm = n1 + n2;
    n1 = n2;
    n2 = nextTerm;
}
 area ascen,code,readonly
 entry
 code32
 adr r0,thumb+1
 bx r0
 code16
thumb
 mov r0,#00
 sub r0,r0,#01
 mov r1,#01
 mov r4,#10
 ldr r2,=0x40000000
back add r0,r1
 str r0,[r2]
 add r2,#04
 mov r3,r0
 mov r0,r1
 mov r1,r3
 sub r4,#01
 cmp r4,#00
 bne back
 end

यकीन मानिए, वे दोनों एक ही काम कर रहे हैं: 10 तक की फिबोनाची अनुक्रम को प्रिंट करना।

फिबोनाची अनुक्रम को परिभाषित किया गया है एक संख्या सेट के रूप में, जिसमें प्रत्येक संख्या पिछले दो अंकों का योग होती है, 0 और 1 से शुरू होकर। फिबोनाची अनुक्रम का अनुसरण करने वाले पहले 10 अंक हैं: 0, 1, 1, 2, 3, 5, 8, 13, 21 और 34।

प्रोग्राम के तत्व

एक प्रोग्राम में एकल निर्देश को स्टेटमेंट कहा जाता है और आमतौर पर इसमें एक कैरेक्टर या लाइन स्पेसिंग होती है जो यह चिह्नित करती है कि निर्देश कहां समाप्त होता है, या टर्मिनेट होता है। एक प्रोग्राम कैसे समाप्त होता है, यह प्रत्येक भाषा के साथ अलग-अलग होता है।

प्रोग्राम के भीतर स्टेटमेंट्स उपयोगकर्ता या अन्य स्रोतों द्वारा प्रदान किए गए डेटा पर निर्भर हो सकते हैं ताकि निर्देशों को अंजाम दिया जा सके। डेटा प्रोग्राम के व्यवहार को बदल सकता है, इसलिए प्रोग्रामिंग भाषाओं में डेटा को अस्थायी रूप से संग्रहीत करने का एक तरीका होता है ताकि इसे बाद में उपयोग किया जा सके। इन्हें वेरिएबल्स कहा जाता है। वेरिएबल्स ऐसे स्टेटमेंट्स हैं जो डिवाइस को अपनी मेमोरी में डेटा सहेजने का निर्देश देते हैं। प्रोग्राम में वेरिएबल्स गणित में वेरिएबल्स के समान होते हैं, जहां उनका एक अद्वितीय नाम होता है और उनका मान समय के साथ बदल सकता है।

कुछ स्टेटमेंट्स डिवाइस द्वारा निष्पादित नहीं किए जा सकते हैं। यह आमतौर पर डेवलपर द्वारा डिज़ाइन के अनुसार होता है या गलती से तब होता है जब कोई अप्रत्याशित त्रुटि होती है। एप्लिकेशन पर इस प्रकार का नियंत्रण इसे अधिक मजबूत और बनाए रखने योग्य बनाता है। आमतौर पर, ये नियंत्रण परिवर्तन तब होते हैं जब कुछ शर्तें पूरी होती हैं। आधुनिक प्रोग्रामिंग में एक सामान्य स्टेटमेंट जो प्रोग्राम को चलाने के तरीके को नियंत्रित करता है, वह है if..else स्टेटमेंट।

आप इस प्रकार के स्टेटमेंट के बारे में अगले पाठों में अधिक जानेंगे।

टूल्स ऑफ द ट्रेड

Tools of the Trade

🎥 ऊपर दी गई छवि पर क्लिक करें टूलिंग के बारे में वीडियो के लिए

इस अनुभाग में, आप कुछ सॉफ़्टवेयर के बारे में जानेंगे जो आपके पेशेवर विकास यात्रा की शुरुआत में बहुत उपयोगी हो सकते हैं।

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

एडिटर्स

सॉफ़्टवेयर विकास के लिए सबसे महत्वपूर्ण उपकरणों में से एक एडिटर है। एडिटर्स वह जगह हैं जहां आप अपना कोड लिखते हैं और कभी-कभी जहां आप अपना कोड चलाते हैं।

डेवलपर्स एडिटर्स पर कुछ अतिरिक्त कारणों से भरोसा करते हैं:

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

लोकप्रिय एडिटर्स और वेब डेवलपमेंट एक्सटेंशन्स

ब्राउज़र्स

एक और महत्वपूर्ण उपकरण ब्राउज़र है। वेब डेवलपर्स ब्राउज़र पर भरोसा करते हैं यह देखने के लिए कि उनका कोड वेब पर कैसे चलता है। इसका उपयोग वेब पेज के दृश्य तत्वों को प्रदर्शित करने के लिए भी किया जाता है जो एडिटर में लिखे गए हैं, जैसे HTML।

कई ब्राउज़र्स डेवलपर टूल्स (DevTools) के साथ आते हैं, जिसमें उपयोगी सुविधाओं और जानकारी का एक सेट होता है जो डेवलपर्स को उनके एप्लिकेशन के बारे में महत्वपूर्ण जानकारी एकत्र करने और कैप्चर करने में मदद करता है। उदाहरण के लिए: यदि किसी वेब पेज में त्रुटियां हैं, तो यह जानना कभी-कभी मददगार होता है कि वे कब हुईं। ब्राउज़र में DevTools को इस जानकारी को कैप्चर करने के लिए कॉन्फ़िगर किया जा सकता है।

लोकप्रिय ब्राउज़र्स और DevTools

कमांड लाइन टूल्स

कुछ डेवलपर्स अपने दैनिक कार्यों के लिए कम ग्राफिकल दृश्य पसंद करते हैं और इसे प्राप्त करने के लिए कमांड लाइन पर भरोसा करते हैं। कोड लिखने में काफी मात्रा में टाइपिंग की आवश्यकता होती है और कुछ डेवलपर्स अपने कीबोर्ड पर प्रवाह को बाधित नहीं करना पसंद करते हैं। वे डेस्कटॉप विंडोज़ के बीच स्वैप करने, विभिन्न फाइलों पर काम करने, और टूल्स का उपयोग करने के लिए कीबोर्ड शॉर्टकट का उपयोग करेंगे। अधिकांश कार्य माउस के साथ पूरे किए जा सकते हैं, लेकिन कमांड लाइन का उपयोग करने का एक लाभ यह है कि कमांड लाइन टूल्स के साथ बहुत कुछ किया जा सकता है बिना माउस और कीबोर्ड के बीच स्वैप किए। कमांड लाइन का एक और लाभ यह है कि वे कॉन्फ़िगर करने योग्य हैं और आप एक कस्टम कॉन्फ़िगरेशन सहेज सकते हैं, इसे बाद में बदल सकते हैं, और इसे अन्य डेवलपमेंट मशीनों में आयात कर सकते हैं। चूंकि डेवलपमेंट एनवायरनमेंट प्रत्येक डेवलपर के लिए बहुत अनूठा है, कुछ इसे पूरी तरह से छोड़ देंगे, कुछ पूरी तरह से इस पर निर्भर करेंगे, और कुछ दोनों का मिश्रण पसंद करेंगे।

लोकप्रिय कमांड लाइन विकल्प

कमांड लाइन के विकल्प आपके द्वारा उपयोग किए जाने वाले ऑपरेटिंग सिस्टम के आधार पर भिन्न होंगे।

💻 = ऑपरेटिंग सिस्टम पर पहले से इंस्टॉल आता है।

Windows

MacOS

Linux

लोकप्रिय कमांड लाइन टूल्स

  • Git (💻 अधिकांश ऑपरेटिंग सिस्टम पर)
  • NPM
  • Yarn

दस्तावेज़ीकरण

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

वेब डेवलपमेंट पर लोकप्रिय दस्तावेज़ीकरण

थोड़ा शोध करें: अब जब आप वेब डेवलपर के एनवायरनमेंट की मूल बातें जानते हैं, तो इसे वेब डिज़ाइनर के एनवायरनमेंट के साथ तुलना करें।


🚀 चुनौती

कुछ प्रोग्रामिंग भाषाओं की तुलना करें। जावास्क्रिप्ट बनाम जावा की कुछ अनूठी विशेषताएं क्या हैं? COBOL बनाम Go के बारे में क्या?

पोस्ट-लेक्चर क्विज़

पोस्ट-लेक्चर क्विज़

समीक्षा और स्व-अध्ययन

प्रोग्रामर के लिए उपलब्ध विभिन्न भाषाओं पर थोड़ा अध्ययन करें। एक भाषा में एक लाइन लिखने का प्रयास करें, और फिर इसे दो अन्य भाषाओं में फिर से लिखें। आपने क्या सीखा?

असाइनमेंट

Reading the Docs


अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं।