ITI COPA

Computer Programming Language

Computer Hindi Notes | Computer LAnguage

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

Programming Language


कम्प्यूटर की भाषाएँ (Computer Languages)

भाषाएँ संचार का एक साधन हैं। सामान्यतः लोग लैंग्वेज का उपयोग करके एक दूसरे के साथ बातचीत करते हैं। इसी आधार पर लैंग्वेज द्वारा कम्प्यूटर के साथ संचार किया जाता है। यह लैंग्वेज उपयोगकर्ता और मशीन दोनों के द्वारा समझी जाती है। प्रत्येक लैंग्वेज की तरह जैसे कि अंग्रेज़ी, हिन्दी के अपने व्याकरण के नियम हैं, उसी प्रकार से प्रत्येक कम्प्यूटर लैंग्वेज भी नियमों द्वारा बँधी हुई है, जिन्हें उस लैंग्वेज का सिंटैक्स (Syntax) कहा जाता है। कम्प्यूटर से संचार करने के दौरान उपयोगकर्ता के लिए वे सिंटैक्स आवश्यक होते हैं।

प्रोग्रामिंग लैंग्वेज (Programming Language) में कुछ विशेष शब्द (Keywords) एवं उनको लिखने के नियम होते हैं, जो कम्प्यूटर  को गणना और दिए गए कार्यों को पूर्ण करने के लिए होता है। प्रत्येक प्रोग्रामिंग लैंग्वेज में कीवर्ड का एक सेट और प्रोग्राम के अनुसार निर्देशों के लिए सिंटेक्स होता है।

प्रोग्रामिंग लैंग्वेज (Programming Language) को प्रोग्रामर (जो प्रोग्राम लिख रहा है) और कम्प्यूटर  दोनों द्वारा समझा जाना चाहिए। एक कम्प्यूटर  0 और 1 की लैंग्वेज / मशीन लैंग्वेज को  समझता है, जबकि प्रोग्रामर अंग्रेजी जैसी लैंग्वेज को आसानी से समझ सकता है। प्रोग्रामिंग लैंग्वेज आमतौर पर उच्च स्तरीय भाषाओं जैसे COBOL, BASIC, FORTRAN, C, C ++, Java आदि को संदर्भित करती है। 


प्रोग्रामिंग भाषाओ के प्रकार (Types of Programming Language)

प्रोग्रामिंग लैंग्वेज (Programming Language) कई प्रकार की होती हैं। कुछ लैंग्वेज को हम समझ सकते हैं तथा कुछ को केवल कम्प्यूटर ही समझ सकता है। जिन भाषाओं को केवल कम्प्यूटर समझता है वे आमतौर पर निम्नस्तरीय लैंग्वेज (Low level Language) कहलाती है तथा जिन भाषाओं को हम समझ सकते है उन्हें उच्चस्तरीय लैंग्वेज (High level language) कहते है । 

लो लेवल लैंग्वेज (Low Level Language) 

निम्नस्तरीय लैंग्वेज (Low level Language) प्रोग्रामिंग लैंग्वेज जो अपने संकेतो को मशीन संकेतो में बदलने के लिए किसी भी अनुवादक (Translator) को सम्मिलित नही करता, उसे निम्न स्तरीय लैंग्वेज कहते है। लेकिन इनका उपयोग प्रोग्रामिंग  (Programming) में करना बहुत ही कठिन है । इसका उपयोग करने के लिए कम्प्यूटर के हार्डवेयर (Hardware) के विषय में गहरी जानकारी होना आवश्यक है । यह प्रोग्रामिंग में बहुत समय लेता है और इसमें त्रुटियों (Error) की सम्भावना अत्यधिक होती है। लो लेवल लैंग्वेज दो प्रकार की होती हैं : 

  1. मशीन लैंग्वेज (Machine Language)

  2. असेम्बली लैंग्वेज (Assembly Language)


मशीन लैंग्वेज (Machine Language)

मशीन लैंग्वेज (Machine Language) वह लैंग्वेज है जिसे कम्प्यूटर  आसानी से समझ सकता है लेकिन प्रोग्रामर को समझना मुश्किल है। मशीन लैंग्वेज (Machine Language) में केवल संख्याएँ होती हैं। हर तरह के CPU की अपनी एक अलग मशीन की लैंग्वेज होती है।


मशीन लैंग्वेज (Machine Language) में लिखा गया एक प्रोग्राम बाइनरी अंकों या बिट्स का एक संग्रह है जिसे कम्प्यूटर  पढ़ता है, समझता है, और व्याख्या करता है। इस प्रोग्राम को सीधे कम्प्यूटर  के CPU द्वारा प्रोसेस किया जाता है। इसे मशीन कोड या ऑब्जेक्ट कोड के रूप में भी जाना जाता है। यह बाइनरी डिजिट 0 और 1  के रूप में लिखा जाता है। मशीन लैंग्वेज में लिखे गए प्रोग्राम की कुछ विशेषताएं इस प्रकार हैं:

  • कम्प्यूटर सिस्टम (Computer System) सिर्फ अंको के संकेतो को समझाता है, जो कि बाइनरी डिजिट 1 या 0 होता है अत: कम्प्यूटर को निर्देश (Instruction) सिर्फ बाइनरी कोड 1 या 0 में ही दिया जाता है।

  • कम्प्यूटर  मशीन लैंग्वेज में लिखे गए प्रोग्राम को सीधे समझ सकता है। प्रोग्राम के अनुवाद की जरूरत नहीं है।

  • मशीन लैंग्वेज में लिखे गए प्रोग्राम को कम्प्यूटर  द्वारा बहुत तेज़ी से एक्सीक्यूट किया जा सकता है क्योंकि इसमें अनुवाद की आवश्यकता नहीं है।

  • मशीन लैंग्वेज मशीन के लिए सरल होती है और प्रोग्रामर के लिए कठिन होती है । 

  • मशीन लैंग्वेज प्रोग्राम का रख रखाव भी बहुत कठिन होता है, क्योंकि इसमें त्रुटि (Error) की संभावनाएँ अधिक होती है । 

  • मशीन लैंग्वेज कम्प्यूटर  के हार्डवेयर द्वारा परिभाषित की जाती है, यह कम्प्यूटर  पर उपयोग किए जा रहे प्रोसेसर पर निर्भर करता है अतः एक कम्प्यूटर  पर लिखा गया प्रोग्राम दूसरे कम्प्यूटर  पर भिन्न प्रोसेसर के साथ काम नहीं कर सकता है।

  • मशीन लैंग्वेज (Machine Language) प्रत्येक कम्प्यूटर सिस्टम पर अलग-अलग कार्य करती है, इसलिए एक कम्प्यूटर  के कोड दूसरे कम्प्यूटर  पर नही चल सकते। इसी लिए इसे मशीन डिपेंडेंट भी कहा जाता है। 

  • मशीन लैंग्वेज में प्रोग्राम लिखना मुश्किल है क्योंकि इसे बाइनरी कोड में लिखा जाना है। उदाहरण के लिए, 00010001 11001001। ऐसे कार्यक्रमों को संशोधित / परिवर्तित  करना भी मुश्किल होता है।

असेंबली लैंग्वेज (Assembly Language)

असेंबली लैंग्वेज (Assembly Language), मशीन लैंग्वेज और उच्च-स्तरीय लैंग्वेज के बीच आती है। वे मशीन लैंग्वेज के समान हैं, लेकिन प्रोग्राम करने में आसान हैं, क्योंकि वे प्रोग्रामर को संख्याओं के स्थान पर कीवर्ड की अनुमति देते हैं।

असेंबली लैंग्वेज (Assembly Language) में लिखा गया प्रोग्राम किसी प्रोसेसर (सीपीयू) को प्रोग्राम करने के लिए आवश्यक मशीन कोड के सिम्बल्स / कीवर्ड का उपयोग करता है, जिसे सीपीयू निर्माता द्वारा डिफाइन किया जाता है, जो प्रोग्रामर को निर्देशों, रजिस्टर आदि को याद रखने में मदद करता है। असेम्बली लैंग्वेज में निर्देश अंग्रेजी के शब्दों के रूप में दिए जाते है, जैसे की NOV, ADD, SUB आदि, इसे न्यूमोनिक कोड (Mnemonic Code) कहते है । इसमें अंग्रेजी जैसे कीवर्ड जैसे LOAD, ADD, SUB आदि को प्रोग्राम में लिखने के लिए उपयोग किया जाता है। असेंबली लैंग्वेज (Assembly Language) में लिखे गए कार्यक्रम की कुछ विशेषताएं इस प्रकार हैं:


  • असेंबली लैंग्वेज प्रोग्राम मशीन लैंग्वेज प्रोग्राम की तुलना में लिखना आसान होता है, क्योंकि असेंबली लैंग्वेज प्रोग्राम मशीन कोड के शॉर्ट, इंग्लिश जैसे कीवर्ड का उपयोग करते हैं। उदाहरण के लिए:

ADD 2, 3

LOAD A 

SUB A, B

  • असेंबली लैंग्वेज में लिखा गया प्रोग्राम सोर्स कोड है, जिसे मशीन कोड में बदलना होता है, जिसे ऑब्जेक्ट कोड भी कहा जाता है।

  • असेंबली लैंग्वेज प्रोग्राम की प्रत्येक लाइन को मशीन कोड की एक या एक से अधिक लाइनों में बदला जाता है। इसलिए असेंबली लैंग्वेज प्रोग्राम भी मशीन पर निर्भर (Machine Dependent)  हैं।

  • असेंबली लैंग्वेज प्रोग्राम आम तौर हाई स्पीड एवं एफिशिएंसी के लिए तैयार किए जाते हैं ।

Programming Language


हाई लेवल लैंग्वेज (High Level Language)

लो लेवल लैंग्वेज़ के लिए हार्डवेयर के विस्तृत ज्ञान की आवश्यकता होती है,  क्योंकि यह मशीन निर्भर होती है। इन मुश्किलों को दूर करने के लिए हाई लेवल लैंग्वेज़ का विकास किया गया है, जो किसी भी समस्या को हल करने के लिए सामान्य और आसानी से समझे जाने योग्य अंग्रेजी के कीवर्ड एवं सेंटेंस का उपयोग करती है। हाई लेवल लैंग्वज़ कम्प्यूटर पर निर्भर नहीं होती है और इसमें प्रोग्रामिंग करना बहुत सरल होता है।

हाई लेवल लैंग्वेज़ (High Level Language) प्रोग्रामर के लिए समझना और उपयोग करना आसान है लेकिन कम्प्यूटर  के लिए कठिन है। हाई लेवल  प्रोग्रामिंग लैंग्वेज के प्रोग्राम को मशीन लैंग्वेज में परिवर्तित करने की आवश्यकता है ताकि कम्प्यूटर  इसे समझ सके। ऐसा करने के लिए हाई लेवल प्रोग्राम को कंपाइल एवं ट्रांसलेट किया जाता है। हाई लेवल लैंग्वेज की विशेषताएँ निम्न हैं :

  • मशीन लैंग्वेज या असेंबली लैंग्वेज की तुलना में प्रोग्राम उच्च स्तरीय भाषाओं में लिखना, पढ़ना या समझना आसान है। C ++ या बेसिक में लिखा गया एक प्रोग्राम मशीन लैंग्वेज प्रोग्राम की तुलना में समझना आसान है।

  • उच्च-स्तरीय भाषाओं में लिखे गए कार्यक्रम स्रोत कोड (Source Code) होते हैं जो ट्रांसलेटर या कम्पाइलर जैसे सॉफ़्टवेयर का उपयोग करके ऑब्जेक्ट कोड / मशीन कोड में परिवर्तित हो जाते हैं।

  • उच्च-स्तरीय भाषाओं में लिखे गए प्रोग्राम आसानी से एक कम्प्यूटर  से दूसरे कम्प्यूटर  में  चलाए जा सकते हैं इसीलिए ये पोर्टेबल होते हैं।


हाई लेवल लैंग्वेज़ (High Level Language) को दो पीढ़ियों  में बांटा गया है :

  1. तृतीय पीढ़ी लैंग्वेज (Third Generation Language) 

  2. चतुर्थ पीढ़ी लैंग्वेज (Fourth Generation Language) 


तृतीय पीढ़ी लैंग्वेज (Third Generation Language) 

तृतीय पीढ़ी भाषाएँ (Third Generation Language) पहली भाषाएँ थी जिन्होंने प्रोग्रामरो को मशीनी तथा असेम्बली भाषाओ में प्रोग्राम लिखने से आजाद किया। तृतीय पीढ़ी की भाषाएँ मशीन पर आश्रित नही थी इसलिए प्रोग्राम लिखने के लिए मशीन के आर्किटेक्चर को समझने की जरुरत नही थी । इसके अतिरिक्त प्रोग्राम पोर्टेबल हो गए, जिस कारण प्रोग्राम को उनके कम्पाइलर व इन्टरप्रेटर के साथ एक कम्प्यूटर से दुसरे कम्प्यूटर में कॉपी किया जा सकता था। तृतीय पीढ़ी के कुछ अत्यधिक लोकप्रिय भाषाओ में फॉरटरैन (FORTRAN), बेसिक (BASIC), कोबोल (COBOL), पास्कल (PASCAL), सी (C), सी++ (C++) आदि सम्मिलित है ।


चतुर्थ पीढ़ी लैंग्वेज (Fourth Generation Language)

चतुर्थ पीढ़ी लैंग्वेज (Fourth Generation Language), तृतीय पीढ़ी के लैंग्वेज से उपयोग करने में अधिक सरल है । सामान्यत: चतुर्थ पीढ़ी की भषाओ में विजुअल (Visual) वातावरण होता है जबकि तृतीय पीढ़ी की भाषाओ में टेक्सचुअल (Textual) वातावरण होता था । विजुअल एनवायरनमेंट में, प्रोग्रामर बटन, लेबल तथा टेक्स्ट बॉक्स  जैसे आइटमो को ड्रैग एवं ड्रॉप करने के लिए टूलबार का उपयोग करते है। इसकी विशेषता IDE (Integrated development Environment) हैं जो एप्लीकेशन कम्पाइलर (Application Compiler) तथा रन टाइम को सपोर्ट करते हैं। विजुअल स्टूडियो, जावा इसके उदाहरण है।


असेम्बलर, कम्पाइलर और इन्टरप्रिटर (Assembler, Compiler and Interpreter)

कम्प्यूटर, मशीन भाषा (Machine Language) के अलावा  किसी अन्य कम्प्यूटर भाषा (Computer Language) में लिखे गए किसी भी प्रोग्राम को  नहीं समझ पाता है अन्य भाषाओं में लिखे गए प्रोग्राम्स को क्रियान्वित (Execute) करने से पूर्व  इन प्रोग्राम्स का  अनुवाद (Translate) मशीन भाषा में करना आवश्यक होता है । इस तरह के अनुवाद (Translate) को  सॉफ्टवेयर की सहायता से किया जाता है ऐसे प्रोग्राम / सॉफ़्टवेयर   जो  मशीन भाषा (Machine Language) के अतिरिक्त  किसी अन्य भाषा में बने प्रोग्राम को मशीन भाषा में बदलते है ऐसे प्रोग्रामो को लेंगवेज ट्रांसलेटर (Language Translator) कहा जाता है  लैंग्वेज ट्रांसलेटर,  सिस्टम  सॉफ़्टवेयर की श्रेणी में आते है  यह तीन प्रकार के होते है

  1. असेम्बलर (Assembler)

  2. कम्पाइलर (Compiler)

  3. इन्टरप्रेटर (Interpreter)


असेम्बलर (Assembler) : 

एक ऐसा प्रोग्राम जो एसेम्बली भाषा में लिखे  प्रोग्राम को मशीन भाषा के प्रोग्राम में बदलता  है उसे असेम्बलर (Assembler) कहा जाता है। असेम्बलर, एसेम्बली भाषा में लिखे प्रोग्राम जिसे सोर्स कोड (Source Code)  कहा जाता को मशीन कोड प्रोग्राम जिसे ऑब्जेक्ट कोड (Object Code) में अनुवादित (Translate) करता है 

Working of Assembler


कम्पाइलर (Compiler) : 

कम्पाइलर किसी कम्प्यूटर के सिस्टम साफ्टवेयर का भाग होता है। एक कंपाइलर एक कंप्यूटर प्रोग्राम है जो उच्च-स्तरीय भाषा (High Level Language) में लिखे गए प्रोग्राम को मशीन भाषा (Machine Language) में  अनुवाद(Translate) करता है। उच्च-स्तरीय प्रोग्राम को 'सोर्स  कोड' (Source Code) कहा जाता है। कंपाइलर को सोर्स कोड को मशीन कोड या  कम्पाइल्ड कोड (Compiled Code) में अनुवाद करने के लिए उपयोग किया जाता है। कंपाइलर प्रोग्राम को चलाने (Execute) से पूर्व सम्पूर्ण  सौर्स कोड को भाषा सम्बन्धी त्रुटियों जिन्हें सिंटेक्स एरर (Syntex Error ) कहा जाता के लिए जांचा जाता है अगर कोई सिंटेक्स एरर आती है तो  उसे दूर किया किया जाता है यह प्रक्रिया तब तक की जाती है जब तक की पूरा प्रोग्राम त्रुटि रहित (Error Free) नहीं हो जाता है। प्रोग्राम के त्रुटि रहित होने के बाद इसे इसे कम्पाइलर द्वारा कम्पाइल किया जाता है  तथा ऑब्जेक्ट कोड (Object Code) / मशीन कोड (Machine Code) प्राप्त किया जाता है।  कम्पाइलर द्वारा प्राप्त ऑब्जेक्ट कोड (Object Code)  सामान्यतः EXE फाइल के रूप में होता है। ऑब्जेक्ट कोड प्राप्त होने के बाद इसे कम्पाइल किए बिना क्रियान्वित (Execute) / Run किया जा सकता है। 

What is compiler?

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

इन्टरप्रिटर (Interpreter) : 

इन्टरपेटर भी कम्पाइलर की भांति कार्य करता है। अन्तर यह है कि कम्पाइलर पूरे प्रोग्राम को एक साथ मशीनी लैंग्वेज में बदल देता है और इन्टरपेटर प्रोग्राम की एक-एक लाइन को मशीनी लैंग्वेज में परिवर्तित करता है। इंटरप्रेटर एक बार में प्रोग्राम की एक पंक्ति (Line) का  अनुवाद करता है और इसे क्रियान्वित (Execute) करता है। फिर यह प्रोग्राम के अगली पंक्ति (line) को रीड करता है और अनुवाद करता है और इसे क्रियान्वित (Execute) करता है। कम्पाइलर के विपरीत, जो पहले प्रोग्राम को कम्पाइल करता है तथा फिर क्रियान्वित(Execute) करता है जबकि इंटरप्रेटर  प्रोग्राम का  लाइन दर लाइन अनुवाद करता है तथा साथ की साथ इसे क्रियान्वित(Execute)करता है।

कम्पाइलर और इन्टरप्रिटर में अन्तर

इन्टरप्रिटर उच्च स्तरीय लैंग्वेज में लिखे गए प्रोग्राम की प्रत्येक लाइन के कम्प्यूटर में प्रविष्ट होते ही उसे मशीनी लैंग्वेज में परिवर्तित कर लेता है, जबकि कम्पाइलर पूरे प्रोग्राम के प्रविष्ट होने के पश्चात उसे मशीनी लैंग्वेज में परिवर्तित करता है ।


उपरोक्त नोट्स आपको कंप्यूटर की प्रोग्रामिंग लैंग्वेज क्या है? प्रोग्रामिंग भाषाओ के प्रकार (Types of Programming Language), मशीन भाषा (Machine Language) असेम्बली लैंग्वेज (Assembly Language) हाई लेवल लैंग्वेज़ (High Level Language) असेम्बलर, कम्पाइलर और इन्टरप्रिटर आदि के बारे में जानकारी हेतु सहायक होंगे. अगले टॉपिक में कंप्यूटर कम्युनिकेशन (Computer Communication) का अध्ययन करेंगे. 


|| कम्प्यूटर फंडामेंटलकम्प्यूटर का परिचय 1 | कम्प्यूटर का परिचय 2कम्प्यूटर का इतिहास एवं जनरेशन | कम्प्यूटर का विकास क्रम टाइमलाइनकम्प्यूटर का वर्गीकरण | कम्प्यूटर इनपुट  डिवाइसकम्प्यूटर आउटपुट डिवाइस | कम्प्यूटर प्राइमरी मेमोरीकम्प्यूटर कैश मेमोरी | स्टोरेज डिवाइस | कंप्यूटर हार्डवेयर एवं पार्ट्स | कम्प्यूटर सॉफ्टवेयर  के प्रकार | कम्प्यूटर डाटा कम्युनिकेशन | कम्प्यूटर नंबर सिस्टम | कम्प्यूटर वायरस | कम्प्यूटर शब्दकोष || 

 


||    Theory   ||    Practicals    ||    Video Tutorials    ||    Online Test Seris   ||