एक कार्यक्रम को विशिष्ट संगणक कार्य करने के लिए डिज़ाइन किए गए निर्देशों के अनुक्रम के रूप में परिभाषित किया जा सकता है। जो व्यक्ति इन निर्देशों को लिखता या निष्पादित करता है, उसे प्रोग्रामर कहा जाता है। प्रोग्रामर विशेषीकृत भाषाओं का उपयोग करते हैं, जिन्हें प्रोग्रामिंग भाषाएँ कहा जाता है, कार्यक्रम बनाने के लिए। इन भाषाओं के उदाहरणों में C और Java शामिल हैं। Ada Lovelace को दुनिया की पहली प्रोग्रामर के रूप में मनाया जाता है।
प्रोग्रामिंग भाषा
- प्रोग्रामिंग भाषा: एक प्रोग्रामिंग भाषा में ऐसे आदेश, निर्देश और वाक्यविन्यास होते हैं, जिनका उपयोग सॉफ़्टवेयर विकसित करने के लिए किया जाता है।
- सरलता: यह सरल, सीखने में आसान और अपने वाक्यविन्यास और अर्थ में सुसंगत होनी चाहिए।
प्रोग्रामिंग भाषाओं को व्यापक रूप से तीन प्रकारों में वर्गीकृत किया जा सकता है:
निम्न-स्तरीय भाषाएँ (LLL)
ये अधिक जटिल होती हैं और सीधे कंप्यूटर के निर्देश सेट के साथ काम करती हैं, आमतौर पर सिस्टम सॉफ़्टवेयर विकास के लिए उपयोग की जाती हैं।
- मशीन भाषा: यह एकमात्र भाषा है जिसे कंप्यूटर स्वाभाविक रूप से समझते हैं, जिसे मशीन कोड, ऑब्जेक्ट कोड या बाइनरी भाषा कहा जाता है। इसमें बाइनरी अंकों (0 और 1) का समावेश होता है जिसे कंप्यूटर पढ़ते और व्याख्या करते हैं।
- असेंबली भाषा: एक निम्न-स्तरीय भाषा जो कंप्यूटर हार्डवेयर के साथ बातचीत करने के लिए अधिक मानव-पठनीय तरीके प्रदान करती है, इसके लिए संरचित आदेश होते हैं जो बाइनरी कोड को प्रतिस्थापित करते हैं।
मध्यम-स्तरीय भाषाएँ (MLL)
- ये भाषाएँ कच्चे हार्डवेयर और कंप्यूटर प्रणाली के प्रोग्रामिंग परत के बीच एक मध्यस्थ के रूप में कार्य करती हैं, अनुवादित कोड की दक्षता बढ़ाने के लिए डिज़ाइन की गई हैं। इसका एक उदाहरण C है।
उच्च-स्तरीय भाषाएँ (HLL)
- उन्नत प्रोग्रामिंग भाषाएँ जो किसी विशेष कंप्यूटर सिस्टम से संबंधित नहीं हैं और विशिष्ट कार्यों के लिए डिज़ाइन की गई हैं। इन्हें सामान्यतः समझना और उपयोग करना आसान होता है। उच्च स्तरीय भाषाओं के निम्न स्तरीय भाषाओं पर मुख्य लाभ यह है कि इन्हें पढ़ना, लिखना और समझना आसान होता है। उदाहरण: BASIC, C, FORTRAN, Java, Python, आदि।
प्रोग्रामिंग से संबंधित शर्तें
- प्रोग्राम दस्तावेज़ीकरण: यह विस्तृत दस्तावेज़ीकरण को संदर्भित करता है जो एक प्रोग्राम का संपूर्ण प्रक्रियात्मक विवरण प्रदान करता है। यह बताता है कि सॉफ़्टवेयर कैसे निर्मित है और यह क्या करता है, जिसमें इनपुट डेटा की आवश्यकताएँ और विशिष्ट प्रोग्रामिंग कार्यों को निष्पादित करने के प्रभाव शामिल हैं।
- OOP (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग): OOP एक प्रोग्रामिंग दृष्टिकोण है जहाँ प्रोग्रामों को ऑब्जेक्ट के संग्रह के रूप में देखा जाता है। प्रत्येक ऑब्जेक्ट एक वर्ग का उदाहरण होता है, और इन ऑब्जेक्ट्स का उपयोग करके सॉफ़्टवेयर को डिज़ाइन और कार्यान्वित करने पर ध्यान केंद्रित किया जाता है।
- डिबगिंग: डिबगिंग वह प्रक्रिया है जिसमें कंप्यूटर प्रोग्राम कोड में त्रुटियों (बग्स) की पहचान, सुधार या बाईपास किया जाता है।
भाषा अनुवादक
भाषा अनुवादक
यह प्रोग्रामिंग भाषा को मशीन भाषा में परिवर्तित करता है।
उपयोग की गई प्रोग्रामिंग भाषा के आधार पर, भाषा अनुवादकों को तीन श्रेणियों में वर्गीकृत किया जा सकता है:
- एसेंबलर: यह एक प्रोग्राम को असेंबली भाषा से मशीन भाषा में परिवर्तित करता है। असेंबली भाषा में उस मशीन पर निर्भर यादृच्छिक कोड होते हैं, जिन्हें सीखना चुनौतीपूर्ण हो सकता है।
- व्याख्याकार: यह एक उच्च-स्तरीय भाषा (HLL) प्रोग्राम को लाइन-दर-लाइन मशीन भाषा में परिवर्तित करता है। यह कार्यान्वयन को रोकता है और अगर कोई त्रुटि होती है तो तुरंत रिपोर्ट करता है, जिससे उपयोगकर्ता को उन्हें ठीक करना आवश्यक होता है। जबकि व्याख्याकार डिबगिंग के लिए उपयोगी होते हैं और नौसिखिए प्रोग्रामरों के लिए उपयुक्त होते हैं, वे आमतौर पर धीमे होते हैं और कम मेमोरी का उपयोग करते हैं।
- संकलक: यह HLL प्रोग्राम को मशीन भाषा में अनुवाद करता है जिसे प्रोसेसर समझ सकता है। प्रत्येक HLL के लिए एक विशिष्ट संकलक आवश्यक होता है। एक संकलक पूरे प्रोग्राम को एक बार में संसाधित करता है, जिससे एक ऑब्जेक्ट प्रोग्राम बनता है। एक बार संकलित होने के बाद, स्रोत प्रोग्राम की आवश्यकता नहीं होती क्योंकि ऑब्जेक्ट प्रोग्राम को चलाया जा सकता है। संकलक सभी त्रुटियों को उनके लाइन नंबर के साथ रिपोर्ट करता है।
प्रोग्रामिंग भाषाओं की पीढ़ियाँ
प्रोग्रामिंग भाषाओं को पाँच पीढ़ियों में वर्गीकृत किया गया है, जो प्रौद्योगिकी में प्रगति को दर्शाती हैं:
- पहली पीढ़ी की भाषाएँ (1GLs): ये मशीन भाषा जैसी निम्न-स्तरीय भाषाएँ हैं।
- दूसरी पीढ़ी की भाषाएँ (2GLs): ये भी निम्न-स्तरीय हैं, जिनमें असेंबली भाषा शामिल है।
- तीसरी पीढ़ी की भाषाएँ (3GLs): उच्च-स्तरीय भाषाएँ जैसे Java इस श्रेणी में आती हैं।
- चौथी पीढ़ी की भाषाएँ (4GLs): ये भाषाएँ मानव भाषा के समान वाक्यांशों को प्रस्तुत करती हैं और आमतौर पर डेटाबेस और स्क्रिप्टिंग प्रोग्रामिंग में उपयोग की जाती हैं।
- पाँचवीं पीढ़ी की भाषाएँ (5GLs): ये भाषाएँ प्रोग्राम विकास में सहायता के लिए दृश्य उपकरणों का उपयोग करती हैं। Visual Basic एक उल्लेखनीय उदाहरण है।
एल्गोरिदम
एक एल्गोरिदम एक व्यवस्थित, चरण-दर-चरण दृष्टिकोण है, जो किसी समस्या को हल करने के लिए उपयोग किया जाता है, जिसे अक्सर डेटा प्रसंस्करण, गणनाओं और अन्य कंप्यूटर या गणितीय कार्यों में लागू किया जाता है।
फ्लो चार्ट
- एक फ्लो चार्ट प्रक्रिया को पूरा करने के लिए आवश्यक चरणों और निर्णयों का दृश्य प्रतिनिधित्व करता है।
- चरणों को चित्र के आकार में दर्शाया जाता है और लाइनों और दिशा संकेतों द्वारा जोड़ा जाता है।
त्रुटि
एक त्रुटि, जिसे सामान्यतः बग के रूप में जाना जाता है, एक अप्रत्याशित समस्या है जो कंप्यूटर के उचित कार्य को बाधित करती है।
त्रुटियों के प्रकार: त्रुटियों को चार श्रेणियों में वर्गीकृत किया जाता है:
- सिंटैक्स त्रुटि: तब होती है जब प्रोग्रामिंग भाषा के नियमों का पालन नहीं किया जाता। कंपाइलर इन त्रुटियों का पता लगाता है और इन्हें रिपोर्ट करता है।
- सामान्य त्रुटि: तब होती है जब प्रोग्राम में दिए गए बयान कंपाइलर के लिए अर्थपूर्ण नहीं होते, जिससे कोड में समस्याएँ होती हैं।
- तर्कात्मक त्रुटि: प्रोग्राम की तर्क में त्रुटियों के कारण गलत या अवांछित आउटपुट उत्पन्न होता है।
- रनटाइम त्रुटि: प्रोग्राम के निष्पादन के दौरान उत्पन्न होती है, आमतौर पर कोड में अवैध संचालन के कारण।
टिट-बिट्स
आरक्षित शब्द वे शब्द हैं जिन्हें एक प्रोग्रामिंग भाषा ने अपनी उपयोग के लिए सुरक्षित रखा है।
प्स्यूडोकोड एक प्रोग्रामिंग भाषा नहीं है, बल्कि एक कार्यक्रम का वर्णन करने का एक अनौपचारिक तरीका है। यह किसी भी सिंटैक्स का सख्ती से पालन नहीं करता।
लूपिंग एक नियंत्रण संरचना है जिसका उपयोग एक कार्यक्रम में एक विशेष सेट के कथनों को बार-बार निष्पादित करने के लिए किया जाता है।
डेटा फ्लो डायग्राम (DFD) उन प्रक्रियाओं का वर्णन करता है जो एक प्रणाली में डेटा को इनपुट से फ़ाइल संग्रहण और रिपोर्ट निर्माण में स्थानांतरित करने में शामिल होती हैं।