प्रोग्रामिंग भाषाओं के वर्गीकरण को स्पष्ट कीजिए।

Estimated reading: 1 minute 74 views

भाषा से हमारा अभिप्राय दो व्यक्तियों के आदान–प्रदान के माध्यम से है लेकिन यहाँ जिन भाषाओं के बारे में हम अध्ययन कर रहे हैं यह कम्प्यूटर एवं उसके यूजर के मध्य सूचनाओं के आदान–प्रदान का माध्यम है और इन्हें प्रोग्रामिंग भाषाएँ कहते हैं। प्रोग्रामिंग भाषा कम्प्यूटर द्वारा किये जाने वाले विभिन्न कार्यों हेतु उसे निर्देश देने के लिए प्रोग्राम लिखने में प्रयुक्त होने वाली भाषा है।

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

(i) मशीनी भाषा (ii) असेम्बली भाषा (iii) उच्चस्तरीय भाषा ।

मशीनी भाषा

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

किसी मशीन लेंग्वेज में तैयार किये गये एक निर्देश के दो भाग होते हैं। आज्ञा या क्रिया प्रथम भाग होता है एवं यह कम्प्यूटर को बताता है कि उसे कौन सा कार्य वरना है तथा आपरेन्ड द्वितीय भाग होता है तथा यह कम्प्यूटर को बताता है कि डाटा अथवा अन्य निर्देश जिनको प्रयोग करना है, को कहाँ संचय करना या कहाँ से प्राप्त करना है।

मशीने लेंग्वेज अथवा लो–लेवल लेंग्वेज को सीखना कठिन होता है क्योंकि यह बाइनरी नंबर सिस्टम पर आधारित होती है । बाइनरी नोटेशन (द्विआधारीय गणना) को कम्प्यूटर आसानी से समझता है । लेकिन यह यूजर हेत बहत कठिन होती है।

मशीनी भाषा के लाभ

(i) यह भाषा कम्प्यूटर की अपनी भाषा है। इसलिए इसमें लिखे निर्देशों को पढ़ने एवं समझने हेतु उसे किसी अनुवादक की जरूरत नहीं है ।

(ii) इस भाषा में लिखे प्रोग्राम्स के क्रियान्वयन की गति तेज होती है।

उदाहरण– नीचे मशीनी भाषा में लिखे गये किसी प्रोग्राम का एक निर्देश लिखा गया है, जिसे 6 भागों में विभाजित किया जा सकता है।

123456
0331001001353001353

उपरोक्त लिखे निर्देश का स्पष्टीकरण इस तरह है।

स्तम्भ 1– यह प्रोग्राम में निर्देश की संख्या बताता है। उदाहरणानुसार लिया गया निर्देश प्रोग्राम का 33 वां निर्देश है

स्तम्भ 2– यह बाइनरी स्थान की संख्या में एक अक्षर जोड़ने हेतु मशीन कोड है।

स्तम्भ 3– यह बाइनरी प्रणाली में लिखा गया वह अक्षर मान है जिसे दी गई संख्या में जोड़ना है।

स्तम्भ 4– यह कम्प्यूटर की मेमोरी में उस स्थान का पता है जहाँ स्टोर संख्या में दिया गया अक्षर मान जोडना है।

स्तम्भ 5– यह दी गई संख्या में उस अंक का स्थान है जहाँ दिया गया अक्षर मान जोड़ना है।

स्तम्भ 6– यह कम्प्यूटर की मेमोरी में उस स्थान का पता है जहाँ पर गणना के बाद परिणाम स्टोर किया जायेगा।

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

1. मशीन पर निर्भरता : विभिन्न तरह के कम्प्यूटर की आंतरिक संरचना भिन्न–भिन्न होती है एवं कार्य हेतु अलग–अलग विद्युतीय संकेतों की आवश्यकता होती है। इसलिए मशीन लेंग्वेज भी अलग–अलग कम्प्यूटरों हेतु अलग–अलग होती है। इसका निर्धारण ALU की वास्तविक संरचना अथवा निर्माण, नियंत्रण ईकाई, साथ ही साथ संचय ईकाई की वर्ड लेन्थ के द्वारा होता है।

2. प्रोग्राम लिखने में कठिन : मशीन लेंग्वेज में प्रोग्रामिंग कठिन होती है, क्योंकि विभिन्न कमाण्ड्स हेतु दर्जनों कोड नम्बर प्रोग्राम मेमोरी में होते हैं।

3. ऍरर प्रोन : मशीन लेंग्वेज में प्रोग्राम लिखने हेतु प्रोग्राम को ऑपकोड्स याद रखना पड़ते हैं एवं साथ ही उसे डाटा और आवश्यक निर्देशों के संग्रहण की स्थिति भी ज्ञात होना आवश्यक होती है, अत: समस्या के तर्क पर ही पूरा ध्यान केन्द्रित करना उसके लिये कठिन होता है।

4. सुधारने में कठिन : मशीन लेंग्वेज के प्रोग्राम को ठीक करना अथवा सुधारना कठिन होता है । मशीन निर्देशों में त्रुटियों को खोजना उतना ही थका देने वाला कार्य होता है, जितना कि उसको शुरू से लिखना। इसी प्रकार मशीन लेंग्वेज के प्रोग्राम को बाद में सुधारना इतना कठिन होता है कि कई प्रोग्रामर पुराने प्रोग्राम में जरूरी सुधारों को लाने के बजाए नये तर्क के साथ नया प्रोग्राम लिखने को ज्यादा महत्व देते हैं।

असेम्बली लेंग्वेज

मशीने लेंग्वेज में प्रोग्राम लिखना प्रोग्रामर हेतु काफी कठिन, थकाने वाला एवं उबाऊ कार्य होता है । इस समस्या को हल करने के लिए तथा प्रोग्रामर की सुविधा के लिए आसानी से समझने योग्य लेंग्वेजेस विकसित हुईं। असेम्बली लेंग्वेज उनमें से एक है। Os तथा 1s की जगह अल्फान्यूमरिक चिन्हों में प्रोग्राम आसानी से लिखा जा सकता है। इस कार्य के लिए अर्थपूर्ण तथा आसानी से याद रखने योग्य चिन्हों का चुनाव होता है। उदाहरण के लिये, जोड़ने हेतु ADD, घटाने हेतु SUB, तुलना आदि CMP आदि । इस तरह के चिन्हों को नेमोनिक्स के नाम से जाना जाता है । नेमोनिक्स की सहायता से लिखे गये प्रोग्राम को असेम्बली लेंग्वेज के प्रोग्राम कहते हैं। मशीन लेंग्वेज में प्रोग्राम लिखने की तुलना में असेम्बली लेंग्वेज में प्रोग्राम लिखना आसान एवं तीव्र होता है।

असेम्बली लेंग्वेज के लाभ :

मशीन लेंग्वेज की तुलना में असेम्बली लेंग्वेज के निम्न लाभ होते हैं–

1. असेम्बली लेंग्वेज समझने में आसान होती है तथा यह संख्या वाले आँकड़ों की जगह नेमोनिक्स एवं डाटा हेतु उपयुक्त नामों का उपयोग करती है।

2. नेमोनिकस एवं चिन्ह फील्ड नामों के उपयोग के कारण इनमें त्रुटियों को खोजना तथा उन्हें सुधारना सरल होता है । तत्पश्चात, असेम्बलर इस प्रकार बनाए जाते हैं कि वे अपने–आप त्रुटियों को पकड़ सके।

3. मशीन लेंग्वेज के प्रोग्राम की तुलना में असेम्बली लेंग्वेज के प्रोग्राम को सुधारना लोगों हेतु सरल होता है क्योंकि वे समझने में आसान होते हैं, इसलिये निर्देशों को इच्छानुसार खोजना, ठीक करना तथा सुधारना सरल होता है।

4. असेम्बली लेंग्वेज का एक महत्वपूर्ण लाभ यह है कि यह निर्देशों एवं डाटा के एड्रेस की चिंता दूर करती है।

5. असेम्बली भाषा को पढ़ना सरल होता है क्योंकि उनकी जगह सिर्फ प्रथम निर्देश को बदलकर आसानी से परिवर्तित की जा सकती है।

असेम्बली लेंग्वेज की हानियाँ :

असेम्बली लेंग्वेज के उपयोग के बाद भी मशीन लेंग्वेज की निम्न हानियों को दूर नहीं किया जा सका–

1. असेम्बली लेंग्वेजस् मशीन पर निर्भर होती हैं, क्योंकि चिन्हों की लेंग्वेज का प्रत्येक निर्देश अंततः उसके तुल्य मशीन लेंग्वेज के निर्देश में अनुवादित होते हैं।

2. क्योंकि असेम्बली लेंग्वेज मशीन पर निर्भर होती है, अत: प्रोग्रामर को उस मशीन के हार्डवेयर एवं अन्य आवश्यकताओं के प्रति जागरूक होना जरूरी हो जाता है।

3. असेम्बली लेंग्वेज की स्थिति में निर्देशों को मशीन कोड स्तर पर लिखा जाता है ताकि एक असेम्बली निर्देश को मशीन कोड निर्देश से स्थानांतरित किया जा सके।

उदाहरण– मशीनी भाषा में लिये गये उदाहरण में प्रयुक्त निर्देश को एसेम्बली भाषा में निम्न तरह लिखा जा सकता है।

123456
033ADDC001COUNTER001COUNTER

स्तम्भ 1– यह प्रोग्राम में निर्देश की संख्या बताता है। उदाहरणानुसार लिया गया निर्देश किसी प्रोग्राम का 33 वाँ निर्देश है।

स्तम्भ 2– यह किसी स्थान की संख्या में एक कॉन्सटेंट जोड़ने हेतु मानक प्रतीक है।

स्तम्भ 3– यह बाइनरी प्रणाली में लिखा गया वह कॉन्सटेंट वैल्यू है जिसे दी गई संख्या में जोड़ना है।

स्तम्भ 4– यह कम्प्यूटर की मेमोरी में उस स्थान का प्रतीकात्मक पता है जहाँ स्टोर्ड संख्या में कॉन्सटेन्ट वैल्यू जोड़ना है।

स्तम्भ 5– यह दी गई संख्या में उस अंक का स्थान है जहाँ दिया गया कॉन्सटेन्ट वैल्यू को जोड़ना है।

स्तम्भ 6– यह कम्प्यूटर की मेमोरी में उस स्थान का पता है जहाँ पर गणना के बाद ‘परिणाम स्टोर किया गया है।

हाई लेवल लेंग्वेज

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

हाई–लेवल लेंग्वेज में लिखे गये निर्देश स्टेटमेंट कहलाते हैं। स्टेटमेंट असेम्बली लेंग्वेज के नेमोनिक्स की जगह इंग्लिश एवं गणित का अधिक स्पष्ट रूप से अनुकरण करते हैं । BASIC, PASCAL, FORTRAN, COBOL, C, C+ + आदि हाई–लेवल लेंग्वेज के उदाहरण हैं। हाई–लेवल लेंग्वेज एक कम्प्यूटर से स्वतंत्र होती है। एक ही प्रोग्राम को दूसरे कम्प्यूटर पर भी चलाया जा सकता है, अगर उस कम्प्यूटर पर उस प्रोग्राम वाली लेंग्वेज का कम्पाइलर है।

हाई–लेवल लेंग्वेज के लाभ :

हाई–लेवल लेंग्वेज एवं मशीन लेंग्वेजे की तुलना में हाई–लेवल लेंग्वेज के निम्न लाभ होते है –

1. मशीन से स्वतंत्रता : हाई–लेवल लेंग्वेजेस् मशीन से स्वतंत्र होती हैं। यह एक बहुत मूल्यवान लाभ है, क्योंकि एक कंपनी द्वारा बदले गए कम्प्यूटर में यह जरूरी नहीं है कि उन सभी प्रोग्राम्स को पुनः लिया जाए, जिन्हें वर्तमान में उपयोग में लाया जा रहा है।

2. सीखने एवं उपयोग में सरल : ये लेंग्वेजेस् भी हमारे द्वारा दिन प्रतिदिन सामान्यतः उपयोग की जाने वाली लेंग्वेज के समान होती हैं । अत: वे सीखने एवं उपयोग में आसानी होती हैं। प्रोग्रामर को उस कम्प्यूटर के बारे में सीखने की जरूरत नहीं है, जो वह उपयोग करने वाला हैं

3. अल्प (बहुत कम) त्रुटियाँ : हाई–लेवल लेंग्वेज की स्थिति में कम्प्यूटर द्वारा किये जाने वाले कार्य की सभी छोटी स्टेप्स प्रोग्रामर द्वारा लिखा जाना जरूरी नहीं होता है। जिससे वह काफी कम त्रुटियाँ करता है । कम्प्यूटर स्वयं ही छोटी बातों का ध्यान रखता है एवं कोई त्रुटि नहीं बताता, जब तक कि कुछ बाधित न हो।

4. प्रोग्राम तैयारी में कम व्यय : हाई–लेवल लेंग्वेज में प्रोग्राम लिखने हेतु कम समय एवं कम प्रयास की जरूरत होती है, परिणामस्वरूप प्रोग्राम तैयार करने में कम व्यय आता है।

5. श्रेष्ठतर प्रमाण लेखन : एक हाई–लेवल लेंग्वेज की रचना इस प्रकार की जाती है कि इसमें निर्देशों का लेखन समस्या की लेंग्वेज की तरह होता है। इसलिए हाई लेवल लेंग्वेज में लिखे प्रोग्राम के स्टेटमेंट्स को कोई भी व्यक्ति सरलता से समझ सकता है, जोकि उस समस्या (प्रोग्राम के उद्देश्य) से परिचित है।

6. संभालने में सहज : असेम्बली लेंग्वेज अथवा मशीन लेंग्वेज के प्रोग्राम्स की तुलना में हाई–लेवल लेंग्वेज में लिखे गये प्रोग्रामस को संभालना सहज होता है, क्योंकि ये समझने में सरल होते हैं एवं इनके निर्देशों को इच्छानुसार जब तथा जैसे चाहे ठीक, खोज एवं सुधार सकते है |

7. श्रेष्ठ कार्यक्षमता : असेम्बली लेंग्वेज की बजाय हाई–लेवल लेंग्वेज में प्रोग्राम को सरलता एवं शीघ्रता से लिखा जा सकता है तथा इन्हें समझना भी सरल होता है । यह असेम्बली लेंग्वेज की अपेक्षा दस गुना तीव्र होती है ।

8. स्वतंत्र प्लेटफॉर्म : हाई–लेवल लेंग्वेजेस में प्रोग्राम्स को सुगमता से एक कम्प्यूटर से दूसरे कम्प्यूटर पर ले जाया जा सकता है, क्योंकि इन प्रोग्राम्स को हम किसी भी कम्प्यूटर पर चला सकते हैं। एक कम्प्यूटर हेतु तैयार असेम्बली लेंग्वेज प्रोग्राम को दूसरे कम्प्यूटर पर नहीं : चला सकते हैं। हाई लेवल लेंग्वेजेस का यह सबसे बड़ा फायदा है।

9. मेमोरी मैनेजमेंट : निर्देशों एवं डाटा हेतु मेमोरी लोकेशन्स का निर्धारण कम्प्यूटर द्वारा किया जाता है तथा प्रोग्रामर को इससे मुक्त कर दिया जाता है ।

हाई–लेवल लेंग्वेजेस की सीमाएँ।

1. एक विशिष्ट हाई–लेवल लेंग्वेज में प्रोग्राम लिखने के लिए विशिष्ट नियमों को ध्यान में रखना होता है।

2. हाई–लेवल लेंग्वेज को ऑपरेट करने की गति धीमी होती है, अतः मशीन लेंग्वेज की बजाय इसका परिकलन समय ज्यादा होता है ।

3. हाई–लेवल लेंग्वेज में लिखे गये प्रोग्राम की तुलना में असेम्बली लेंग्वेज अथवा मशीन लेंग्वेज में लिखे गए प्रोग्राम की क्षमता ज्यादा होती है क्योंकि हाई–लेवल लेंग्वेज में लिखे गये प्रोग्रामस् कार्य करने में अधिक एवं अधिक मेमोरी लेते हैं।

4. व्यापक हार्डवेअर सपोर्ट की जरूरत होती है।

5. हाई–लेवल लेंग्वेज से मशीन लेंग्वेज में प्रोग्राम को रूपांतरित करने के लिए कम्प्यूटर के साथ कम्पाईलर प्रदान करना पड़ता है, क्योंकि कम्प्यूटर सिर्फ मशीन लैंग्वेज समझता है।

उदाहरण– मशीनी भाषा में लिये गये उदाहरण में प्रयुक्त निर्देश को उच्चस्तरीय भाषा में निम्न तरह लिखा जा सकता है।

033 A =A+1

यहाँ 033, प्रोग्राम में निर्देश की संख्या बताता है। प्रथम A कम्प्यूटर की मेमोरी के , उस स्थान का प्रतीकात्मक पता है जहाँ गणना के बाद परिणाम स्टोर करना है । दूसरा A मेमोरी के उस स्थान का पता है जहाँ वह संख्या स्टोर है जिसमें कॉन्सटेन्ट वैल्यू जोड़ना है। 1 वह वैरिएबल वैल्यू है जिसे जोड़ना है, जोड़ने का गणितीय प्रतीक है।

फोर्थ जनरेशन लेंग्वेजेस

तकनीकी विकास के साथ–साथ लेंग्वेजेस के एक नये समूह की खोज हुई, जिसने कम्प्यूटर के साथ ज्यादा सरल व मैत्रीपूर्ण तरीके से सूचना का दोहरा आदान–प्रदान करने के लिए यूजर को लचीला बनाया। बाद में इन लेंग्वेजेस को फोर्थ जनरेशन लेंग्वेजेस कहा गया। विस्तृत प्रक्रिया से गुजरे बगैर ही सरलता से अंतिम परिणाम पर पहुँचना ही इन लेंग्वेजेस की मुख्य ताकत है। दूसरे शब्दों में हम कह सकते हैं कि फोर्थ जरनेशन लेंग्वेजेस ने प्रोग्रामिंग के नॉन–प्रोसीजरल तरीके का समर्थन किया।

Leave a Comment

CONTENTS