कम्प्यूटर की विभिन्न भाषाओं का संक्षेप में वर्णन कीजिए। इनके लाभ तथा हानियाँ बताइये। Briefly discuss various computer languages. State its advantages and disadvantages.
Contents
कम्प्यूटर की भाषाएँ (Computer Languages)
कम्प्यूटर एक इलेक्ट्रॉनिक उपकरण है जिसमें गति, सटीकता, स्मृति आदि जैसी कई अच्छी विशेषताएँ हैं। लेकिन इसमें कोई बुद्धि नहीं है और यह स्वयं कोई कार्य नहीं कर सकता है। किसी भी कार्य को करने के लिए उसे निर्देशों की आवश्यकता होती है। ये निर्देश कम्प्यूटर की समझ में आने वाली भाषा में या ऐसी भाषा में दिए जाने चाहिए जिसे कम्प्यूटर समझ में आने वाले रूप में बदला जा सके। ऐसी भाषाएँ जिन्हें कम्प्यूटर सीधे समझता है या जिन्हें कम्प्यूटर समझने योग्य रूप में परिवर्तित किया जा सकता है, कम्प्यूटर भाषा कहलाती है।
कम्प्यूटर भाषाओं को पाँच प्रमुख श्रेणियों में वर्गीकृत किया जा सकता है :
(1) मशीनी भाषा या पहली पीढ़ी की भाषा [Machine Language (or First Generation Language)]
(2) असेंबली भाषा या दूसरी पीढ़ी की भाषा [Assembly Language (or Second Generation Language)]
(3) उच्च स्तरीय भाषा या तीसरी पीढ़ी की भाषा [High-Level Language (or Third Generation Language)]
(4) लक्ष्योन्मुखी भाषा या चौथी पीढ़ी की भाषा [Object Oriented Language (or Fourth Generation Language)]
(5) आर्टिफिशियल इंटेलिजेंस लैंग्वेज (या पाँचवीं पीढ़ी की भाषा) [Artificial Intelligence Language (Or Fifth Generation Language)]
(1) मशीन भाषा (Machine Language)
मशीनी भाषा ही एकमात्र ऐसी भाषा है जिसे कम्प्यूटर सीधे समझता है। अन्य चार भाषाएँ कम्प्यूटर द्वारा सीधे नहीं समझी जाती हैं, लेकिन उन्हें मशीनी भाषा में परिवर्तित किया जा सकता है जिसे कम्प्यूटर समझता है।
मशीनी भाषा को पहली पीढ़ी की भाषा (1 GL) भी कहा जाता है। इसके केवल दो सिम्बल (Symbols) हैं: 0 और 1, एक भाषा में समस्त डाटा या निर्देश 0 और 1 में ही होते हैं।
मशीनी भाषा में एक निर्देश में दो भाग होते हैं।
(i) ऑपरेशन कोड [Operation Code (or Op-code) ]
(II) ऑपरेड के मेमोरी एड्रेस (Memory Addresses of Operands)
ऑपरेशन कोड के लिए जाने वाले ऑपरेशन (जैसे जोड़, घटाव आदि) को निर्दिष्ट करता है और मेमोरी एड्रेस ऑपरेंड के स्थान को निर्दिष्ट करता है जिस पर ऑपरेशन कोड किया जाना है।
मशीनी भाषा के लाभ-
(i) ये अनुवाद मुक्त हैं (अर्थात्, किसी अनुवाद की आवश्यकता नहीं है) और इन्हें सीधे कम्प्यूटर द्वारा निष्पादित किया जा सकता है।
(ii) कम्प्यूटर सिस्टम द्वारा मशीनी भाषा प्रोग्राम को तेजी से और कुशलता से निष्पादित किया जाता है।
(iii) मशीनी भाषा प्रोग्राम, मेमोरी का सर्वोत्तम उपयोग करता है क्योंकि डेटा के प्रत्येक बिट का ट्रैक रखना संभव है।
मशीनी भाषा कीं हानियाँ-
मशीनी भाषाओं की प्रमुख हानियाँ हैं :
(i) मशीनी भाषा में सभी निर्देश बाइनरी फॉर्म (यानी, 0 और 1) में लिखे जाने चाहिए, जो काफी कठिन है।
(ii) यह मशीन पर निर्भर है यानी एक कम्प्यूटर के लिए मशीनी भाषा में लिखा गया प्रोग्राम दूसरे कम्प्यूटर पर सफलतापूर्वक नहीं चल सकता है।
(iii) कम्प्यूटर के कामकाज का बहुत विस्तृत ज्ञान आवश्यक है। केवल कम्प्यूटर ही इस भाषा का उपयोग कर सकते हैं।
(iv) मशीनी भाषा के कार्यक्रमों को पढ़ना, समझना और संशोधित करना बहुत कठिन होता है।
(2) असेंबली भाषा (Assembly Language)
असेंबली भाषा को दूसरी पीढ़ी की भाषा (2GL) या प्रतीकात्मक भाषा के रूप में भी जाना जाता है। असेंबली भाषा में सभी निर्देश बाइनरी भाषा में नहीं हैं, कुछ प्रतीकात्मक नामों में हैं (i.e., Symbols) (उदाहरण के लिए, ADD for addition, SUB for subtraction) यह भाषा मशीनी भाषा से कुछ कम जटिल है।
एक असेंबली भाषा निर्देश में आमतौर पर तीन घटक होते हैं:
- (a) लेबल (Label)
- (b) ऑपरेशन कोड (Operation code)
- (c) ऑपरेनड (Operand) असेंबली भाषा के प्रमुख लाभ हैं-
(i) प्रतीकात्मक नामों के उपयोग के कारण मशीनी भाषा की तुलना में इसका उपयोग करना आसान है।
(ii) मशीनी भाषा कार्यक्रम की तुलना में असेंबली भाषा कार्यक्रम में सम्मिलित करना और हटाना आसान है।
असेंबली भाषा की हानियाँ-
असेंबली भाषाओं की प्रमुख हानियाँ हैं :
(i) असेंबली भाषा में प्रोग्राम को पढ़ना, समझना और लिखना मुश्किल है।
(ii) असेंबली भाषा में प्रोग्रामिंग के लिए उच्च स्तरीय प्रोग्रामिंग कौशल की आवश्यकता होती है।
(iii) असेंबली भाषा के कार्यक्रम तुरंत निष्पादन योग्य नहीं होते हैं। उन्हें मशीनी भाषा में अनुवाद की आवश्यकता है।
(iv) यह मशीन पर निर्भर है यानी एक कम्प्यूटर पर लिखा गया असेंबली लैंग्वेज प्रोग्राम दूसरे कम्प्यूटर पर सफलतापूर्वक नहीं चल सकता है।
(3) उच्च स्तरीय भाषा (High Level Language)
उच्च स्तरीय भाषा (HLL) को तीसरी पीढ़ी की भाषा (3 GL) भी कहा जाता है। इसमें क्रमशः अंग्रेजी और गणित के समान शब्द और Symbols होते हैं।
एक उच्च स्तरीय भाषा की प्रमुख विशेषताएँ हैं :
(i) यह अंग्रेजी भाषा के करीब है, इसलिए इसे पढ़ना, समझना और लिखना आसान है।
(ii) इसे सीधे कम्प्यूटर द्वारा नहीं समझा जाता है, लेकिन इसका मशीनी भाषा में अनुवाद किया जा सकता है।
(iii) यह एक प्रक्रियात्मक भाषा है अर्थात् उच्च स्तरीय भाषा में निर्देश लिखकर किसी समस्या को हल करने के लिए पूरी प्रक्रिया (यानी व्यवस्थित कदम) की आवश्यकता होती है।
(iv) यह मशीन स्वतंत्र है अर्थात् एक कम्प्यूटर पर लिखे गए उच्च स्तरीय भाषा प्रोग्राम को अन्य कम्प्यूटरों पर भी सफलतापूर्वक चलाया जा सकता है।
(v) आमतौर पर इस्तेमाल की जाने वाली कुछ उच्च-स्तरीय भाषाएँ हैं : बेसिक, कोबोल, पास्कल फोरट्रान और सी।
उच्च स्तरीय भाषा के लाभ-
उच्च स्तरीय भाषाओं के प्रमुख लाभ हैं :
(i) यह अंग्रेजी भाषा के करीब है, इसलिए इसे पढ़ना, समझना और लिखना आसान है।
(ii) यह मशीन स्वतंत्र है।
(iii) HLL कार्यक्रमों की Debugging और परीक्षण काफी आसान है।
(iv) HLL कार्यक्रमों में त्रुटियों की संभावना कम होती है, जिन्हें बनाए रखना आसान होता है।
(v) HLL में प्रोग्राम लिखने के लिए कम्प्यूटर के कामकाज के विस्तृत ज्ञान की आवश्यकता नहीं होती है
उच्च स्तरीय भाषा की हानियाँ-
(i) HLL प्रोग्राम तुरंत निष्पादन योग्य नहीं होते हैं। उन्हें मशीनी भाषा में अनुवाद की आवश्यकता है।
(ii) यह मेमोरी का कम कुशल उपयोग करता है।
(4) लक्ष्योन्मुखी भाषा (Object Oriented Language)
यह एक ऐसी भाषा है जो डेटा बाइंडिंग और इनकैप्सुलेशन तकनीकों के माध्यम से विशिष्ट प्रक्रियात्मक भाषाओं में जटिलता को कम करती है। यहाँ, बनाई गई Objects कार्यक्रम के भीतर अन्य कार्यों या विधियों तक सीमित पहुँच प्रदान करती हैं। यह किसी विशेष Object तक पहुँचने के लिए केवल अधिकृत या मिली विधियों/कार्यों को सक्षम बनाता है। लक्ष्योन्मुखी भाषाओं के कुछ उदाहरण हैं C++ और Java
लक्ष्योन्मुखी भाषा में प्रयुक्त कुछ सामान्य शब्द हैं:
(i) Class : यह वस्तु उन्मुख भाषा का बुनियादी निर्माण खण्ड है। यह एक एकल इकाई हैं जिसमें डेटा पर डेटा और संचालन एक साथ होते हैं।
(ii) Objects : ये एक class के उदाहरण हैं जिनका उपयोग वास्तविक कार्यक्षमता यानी इसके चर और संचालन में किया जाता है।
(iii) Abstraction: यह बिना किसी विवरण के बहुत ही वैचारिक स्तर पर डेटा का प्रतिनिधित्व करने की क्षमता रखता है। यह निर्दिष्ट करता है कि क्या करना है लेकिन यह नहीं कि कैसे करना है।
(iv) Encapsulation : यह एक इकाई में डेटा और डेटा के संचालन को एक साथ बाँधने की एक विशेषता है। एक class में यह विशेषता होती है।
(v) Inheritance : यह एक अवधारणा है जिसके द्वारा एक class को दूसरे class (आधार class के रूप में जाना जाता है) से प्राप्त किया जा सकता है, जिसमें आधार class की सभी विशेषताएँ होती हैं। Derived class की अपनी कुछ विशेषताएँ हैं। यह कोड की reusability बढ़ाता है।
(vi) Polymorphism : यह विभिन्न रूपों में मौजूद रहने की क्षमता है। उदाहरण के लिए एक ऑपरेटर या फंक्शन को दो पूर्णांक संख्या और दो फ्लोट जोड़ने के लिए अतिभारित किया जा सकता है। यह कई फंक्शन नाम ऑपरेटर और फंक्शन ओवरलोडिंग में समय बचाता है।
(vii) Message Passing : Objects इनवोकिंग विधियों और उन्हें डेटा भेजने के माध्यम से संचार करता है। फंक्शन मापदण्डों के माध्यम से वस्तुओं के बीच सूचना भेजने और प्राप्त करने की इस विशेषता को संदेश पासिंग के रूप में जाना जाता है।
एक लक्ष्योन्मुखी भाषा में अमूर्तता, एनकैप्सुलेशन, वंशानुक्रम, बहुरूपता की विशेषताएँ होती है।
(5) आर्टिफिशियल इंटेलिजेंस लैग्वेज (Artificial Intelligence Language)
पाँचवीं पीढ़ी की भाषा की प्रोग्रामिंग भाषाएँ मुख्य रूप से Constraint प्रोग्रामिंग पर केन्द्रित हैं। जिन प्रमुख क्षेत्रों में पाँचवी पीढ़ी की प्रोग्रामिंग भाषा कार्यारत है, वे हैं आर्टिफिशियल इंटेलिजेंस और आर्टिफिशियल न्यूरल नेटवर्क ।
पाँचवीं पीढ़ी की भाषाओं के लाभ-
(i) इन भाषाओं का उपयोग डेटाबेस को तेज और कुशल तरीके से करने के लिए किया जा सकता है।
(ii) भाषा की इस पीढ़ी में, उपयोगकर्ता कम्प्यूटर सिस्टम के साथ सरल और आसान तरीके से संवाद कर सकता है।
उदाहरण: Mercury, prolog, OPS5
अनुवादक (Translators)-
यह एक ज्ञात तथ्य है कि कम्प्यूटर उच्च-स्तरीय भाषाओं और असेंबली भाषाओं को सीधे नहीं समझता है। ऐसी भाषा में प्रोग्राम को मशीनी भाषा में बदलने की जरूरत हैं। यह रूपांतरण प्रोग्राम के एक सेट (यानी, सॉफ्टवेयर) द्वारा किया जाता है जिसे अनुवादक के रूप में जाना जाता है। HLL में लिखे गए प्रोग्राम को Source प्रोग्राम कहा जाता है और परिवर्तित प्रोग्राम (यानी मशीन लैंग्वेज में प्रोग्राम) को Object प्रोग्राम कहा जाता है।
उच्च स्तरीय भाषा कार्यक्रम को मशीनी भाषा कार्यक्रम में बदलने के लिए मुख्य रूप से दो प्रकार के अनुवादक होते हैं। ये हैं: कंपाइलर (Compiler), और इंटरप्रेटर (Interpreter) | असेंबली लैंग्वेज प्रोग्राम को मशीन लैंग्वेज प्रोग्राम में बदलने के लिए उपलब्ध ट्रांसलेटर को असेंबलर (Assembler) कहा जाता है।
Important Link
- अधिकार से आप क्या समझते हैं? अधिकार के सिद्धान्त (स्रोत)
- अधिकार की सीमाएँ | Limitations of Authority in Hindi
- भारार्पण के तत्व अथवा प्रक्रिया | Elements or Process of Delegation in Hindi
- संगठन संरचना से आप क्या समझते है ? संगठन संरचना के तत्व एंव इसके सिद्धान्त
- संगठन प्रक्रिया के आवश्यक कदम | Essential steps of an organization process in Hindi
- रेखा और कर्मचारी तथा क्रियात्मक संगठन में अन्तर | Difference between Line & Staff and Working Organization in Hindi
- संगठन संरचना को प्रभावित करने वाले संयोगिक घटक | contingency factors affecting organization structure in Hindi
- रेखा व कर्मचारी संगठन से आपका क्या आशय है ? इसके गुण-दोष
- क्रियात्मक संगठन से आप क्या समझते हैं ? What do you mean by Functional Organization?
Disclaimer: Target Notes does not own this book, PDF Materials Images, neither created nor scanned. We just provide the Images and PDF links already available on the internet. If any way it violates the law or has any issues then kindly mail us: targetnotes1@gmail.com