कम्यूटर लैंग्वेज क्या है और इसके प्रकार - Computer Languages

कम्यूटर लैंग्वेज क्या है और इसके प्रकार

कम्यूटर लैंग्वेज क्या है

कंप्यूटर की भाषाएँ या प्रोग्रामिंग भाषाएँ वे भाषाएँ है, जिन्हे केवल कम्यूटर समझता है। ये भाषाएँ कई प्रकार की होती है। आज हम आपको बताएँगे की कम्यूटर लैंग्वेज क्या है और इसके प्रकार। 

कंप्यूटर लैंग्वेज के प्रकार

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

यद्यपि कम्प्यूटरों को बहुत सी कम्प्यूटर भाषाएँ समझने के लिए प्रोग्राम किया जा सकता है, परन्तु हर कम्प्यूटर बिना किसी ट्रांस्लेशन प्रोग्राम की सहायता के केवल एक भाषा समझता है। इस भाषा को कम्प्यूटर की मशीन लैग्वेज कहा जाता है। मशीन लैंग्वेज प्रायः बाइनरी 0s और 1s की स्ट्रिंग में लिखी जाती है। कम्प्यूटर के सरकिट इस तरह बैठाए जाते हैं कि वे मशीनी भाषा में दिए निर्देश तुरंत समझ कर उन्हें कार्यान्वित करने वाले इलेक्ट्रिक सिगनलों में बदल देता है।

मशीन लैंग्वेज निर्देश के प्रायः दो पार्ट फॉरमैट होते हैं। पहला हिस्सा ऑपरेशन कोड होता है जो कम्प्यूटर को बताता है कि क्या कार्य करें और दूसरा हिस्सा ऑपरेण्ड होता है जो यह बताता है कि जिस डेटा पर कार्य करना है उसे कहाँ खोजें या स्टोर करें। अतः प्रत्येक निर्देश कम्प्यूटर को बताता है कि क्या ऑपरेशन करें और ऑपरेशन क्षेत्र में आए डेटा की लंबाई और लोकेशन कहाँ है। हर कम्प्यूटर में एक ऑपरेशन कोड का सेट होता है जो उसका निर्देश सेट कहलाता है। प्रत्येक ऑपरेशन कोड (या ऑपकोड) जो निर्देश में दिया गया है, वह एक विशेष मूल ऑपरेशन या कार्य करता है। कम्प्यूटर के निर्देशों में आए सामान्य ऑपरेशन हैं:

  • अरिथमेटिक ऑपरेशन
  •  लॉजिकल ऑपरेशन।
  •  ब्रांच ऑपरेशन (कंडीशनल या अनकंडीशनल ) जो ऑपरेण्ड क्षेत्र में दिए एड्रेस ट्रांसफर करते हैं। 
  •  डेटा को मेमोरी लोकेशनों और रजिस्टरों के बीच चलाने के लिए डेटा मूवमेंट ऑपरेशन ।
  •  इनपुट / आउटपुट डिवाइसों से में डेटा चलाने के लिए डेटा मूवमेंट ऑपरेशन ।

 

मशीन लैंग्वेज के लाभ व हानियाँ -

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

1. मशीन डिपेन्डेन्टः 

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

2. प्रोग्राम करने में कठिनः

 यद्यपि एक कम्प्यूटर मशीन लैंग्वेज को सीधे और प्रभावपूर्ण तरीके से कार्यान्वित करता है। फिर भी मशीन लैंग्वेज में प्रोग्राम करना कठिन होता है। प्रोग्रामर के लिए दर्जनों ऑपरेशन कोड याद करना आवश्यक हो जाता है जो मशीन के निर्देशों के सेट में हैं या उसे निरंतर रेफरेन्स कार्ड पर निर्भर रहना पड़ता है। प्रोग्रामर पर 0 डेटा और निर्देशों की स्टोरेज लोकेशन को याद रखने का भी दबाव बना रहता है और मशीन लैंग्वेज प्रोग्रामर को कम्प्यूटर के हार्डवेयर ढाँचे की भी जानकारी होनी चाहिए।

3. ऐरर प्रोनः 

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

4.मॉडिफाई करने में कठिनः

 मशीन लैंग्वेज प्रोग्रामों को सही या मॉडिफाई करना कठिन होता है। मशीन निर्देशों को ऐरर खोजने के लिए जाँचना बहुत समय लेता है और कठिन होता है। इसी तरह, मशीन लैंग्वेज प्रोग्राम को बाद में बदलना इतना कठिन होता है कि कई प्रोग्रामर नए लॉजिक को नए सिरे से कोड करना पसंद करते हैं बजाए पुराने प्रोग्राम में बदलाव लाने के ।संक्षेप में, मशीन लैंग्वेज में प्रोग्राम लिखना इतना कठिन और समय लेने वाला होता है कि प्रोग्रामर आजकल इसका उपयोग कम ही करते हैं।

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

कंप्यूटर लैंग्वेज क्या है और इसके प्रकार में हम मशीन लैंग्वेज की बात करें तो कंप्यूटर केवल Machine Language को समझ पाते हैं ,जिसमें कि बाइनरी कोड (0 और 1) का इस्तेमाल होता है ।हमें इतने सारे नंबर याद रख पाना बहुत मुश्किल था।

इसी समस्या को दूर करने के लिए Assembly Language को बनाया गया। Assembly Language में नंबर के स्थान पर Menmonic Code का इस्तेमाल होता है, जो कि अंग्रेजी भाषा या संकेतों में लिखे होते है। जिसके कारण इंन कमांड को याद रखना आसान था।

 

मशीन लैंग्वेज की अपेक्षा असैम्बली लैंग्वेज के लाभ -

मशीन लैंग्वेज की अपेक्षा असैम्बली लैंग्वेज के लाभ निम्नांकित हैं:

1. समझने और प्रयोग में सरलः 

न्यूमेरिक ऑपकोड की जगह न्यूमानिक्स का उपयोग और न्यूमेरिक एड्रेस की जगह सिम्बालिक नामों का उपयोग, मशीन लैंग्वेज प्रोग्राम की अपेक्षा असैम्बली लैंग्वेज प्रोग्रामों को समझने और प्रयोग करने में आसान बनाता है।

2. ऐरर को ढूँढ़ना और सही करना आसान: 

डेटा लोकेशन के लिए न्यूमानिक ऑपकोड और चिन्हों के नाम के प्रयोग के कारण और क्योंकि प्रोग्रामरों को डेटा और निर्देशों की स्टोरेज लोकेशनों का ध्यान नहीं रखना पड़ता, असैम्बली लैंग्वेज में प्रोग्राम लिखते समय गल्तियाँ कम होती हैं, और जो होती हैं उन्हें ढूँढ़ने और सही करना आसान होता है।। साथ ही असैम्बली स्वयं ऐरर जाँचता है और अंकित करता है।निर्देश ADD AREA रीड करता है और हम प्रोग्राम में AREA परिभाषित करना भूल जाते हैं। असैम्बलर अपने टेबल में देखता है और AREA न पाकर ऐरर अंकित कर देता है।

3.बदलाव में आसानी: 

चूँकि यह समझने में आसान है, इसे ढूँढना, सही करना और निर्देश मॉडिफाई करना मशीन लैंग्वेज प्रोग्राम की अपेक्षा असैम्बली लैंग्वेज प्रोग्राम में आसान है। इसलिए प्रोग्राम में किसी निर्देश को डालने और निकालने में उस प्रोग्राम के एड्रेस हिस्से में कोई बदलाव नहीं लाना पड़ता। मशीन लैंग्वेज के मामले में यह आवश्यक है।

4.एड्रेस की चिंता नहीं: 

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

5.आसानी से पुनः लोकेट होना : 

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

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

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

 

हाई लेवल भाषाएँ ( High-level Language) मशीन और असैम्बली लैंग्वेज में  कमजोरियाँ 

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

हाई लेवल लैंग्वेज के उदाहरण

FAQ

 1. कंप्यूटर की कितनी भाषाएं हैं ?
Ans. कंप्यूटर केवल बाइनरी भाषा ही समझता है।
2. कम्यूटर भाषा के जनक कौन थे?
Ans. चार्ल्स बैवेज को कंप्यूटर भाषा का जनक कहा जाता है।
3. C किस प्रकार की लैंग्वेज है?
Ans. C हाई लेवल लैंग्वेज हैं।
4.कंप्यूटर लैंग्वेज को क्या कहते हैं?
Ans. कंप्यूटर लैंग्वेज को प्रोग्रामिंग लैंग्वेज कहते है।
 5.मशीन लैंग्वेज क्या है?
Ans. मशीन लैंग्वेज वह लैंग्वेज है , जो निर्देशों को 0 और 1 में बदलता है।

Post a Comment

Previous Post Next Post