कम्प्यूटर एक मशीन है तथा हमारी सामान्य बोलचाल की भाषाओं मे लिखे प्रोग्रामों को नहीं समझ सकता। इसलिए कम्प्यूटर के लिए विशेष प्रकार की भाषाओं में प्रोग्राम लिखे जाते हैं। इन भाषाओं को प्रोग्रामिग भाषाएँ कहते हैं। इन भाषाओं की अपनी एक अलग व्याकरण (Grammar) होती है और प्रोग्राम लिखते समय उनके व्याकरण का पालन करना आवश्यक है। आजकल ऐसी सैकड़ों भाषाएँ प्रचलन में हैं। ये भाषाएँ कम्प्यूटर और प्रोग्रामर के बीच सम्पर्क या संवाद बनाती है। कम्प्यूटर उनके माध्यम से दिए गए निर्देशों के समझकर उनके अनुसार कार्य करता है। ये निर्देश इस प्रकार दिए जाते हैं, कि उनका क्रमशः पालन करने से कोई कार्य पूरा हो जाए। प्रोग्रामिंग भाषाओं को तीन प्रमुख भागों में विभाजित किया गया है- निम्न स्तरीय भाषाएँ, मध्य स्तरीय भाषाएँ और उच्च स्तरीय भाषाएँ
निम्न स्तरीय भाषाएँ (Low Level Languages)
निम्न स्तरीय भाषाएँ कम्प्यूटर की आन्तरिक कार्यप्रणाली के अनुसार बनाई जाती है तथा ऐसी भाषाओं में लिखे गए प्रोग्रामों के पालन करने की गति अधिक होती है, क्योंकि कम्प्यूटर उसके निर्देशों का सीधे ही पालन कर सकता है। इनके दो प्रमुख उदाहरण हैं। – मशीनी भाषाएँ तथा असेम्बली भाषाएँ।
मशीनी भाषाएँ (Machine Languages)
ये भाषा केवल बाइनरी अंको (0 या 1) से बनी होती है। प्रत्येक कम्प्यूटर के लिए उसकी अलग मशीनी भाषा होती है। मशीनी भाषा का प्रयोग प्रथम पीढ़ी के कम्प्यूटरों में किया जाता था तथा इनमें त्रुटियों का पता लगाना एवं उन्हें ठीक करना लगभग असम्भव होता है।
असेम्बली भाषाएँ (Assembly Languages)
ये भाषाएँ पूरी तरह मशीनी भाषाओं पर आधारित होती है, परन्तु इनमें 0 से 1 की। श्रृंखलाओं के स्थान पर अंग्रेजी के अक्षरों और कुछ गिने चुने शब्दों को कोड के रूप में प्रयोग किया जाता है। इन भाषाओं में लिखे गए प्रोग्रामों में त्रुटि का पता लगाना एवं उन्हें ठीक करना सरल होता है।
मध्य स्तरीय भाषाएँ (Medium Level Languages)
ये भाषा निम्न स्तरीय तथा उच्च स्तरीय भाषाओं के मध्य पुल का कार्य करती है। C भाषा को मध्य स्तरीय भाषा कहा जाता है, क्योंकि इसमें उच्च स्तरीय तथा निम्न स्तरीय दोनों भाषाओं के गुण है।
उच्च स्तरीय भाषाएँ (High Level Languages)
ये भाषाएँ कम्प्यूटर की आन्तरिक कार्यप्रणाली पर आधारित नहीं होती है। इन भाषाओं में अंग्रेजी के कुछ चुने हुए शब्दों और साधारण गणित में प्रयोग किए जाने वाले चिन्हों का प्रयोग किया जाता है। इनमें त्रुटियों का पता लगाना और उन्हें ठीक करना सरल होता है, किन्तु इन भाषाओं में लिखे प्रोग्राम्स को मशीनी भाषा में कम्पाइलर या इण्टरप्रेटर के द्वारा अनुवादित (Translated) कराया जाना आवश्यक होता है।
लिंकर (Linker)
जब वास्तविक भाषा में लिखे प्रोग्राम को मशीनी भाषा में अनुवादित किया जाता है, तो इस प्रकार प्राप्त होने वाले आउटपुट को ऑब्जेक्ट प्रोग्राम (Object Program) या ऑब्जेक्ट फाइल (Object File) कहा जाता है। जिसके बाद लिंकर (Linker) नामक प्रोग्राम सभी आब्जेक्ट फाइल को मिलाकर एक वास्तविक एक्जीक्यूटेबल फाइल (Executable File) बना देता है।
लोडर (Loader)
कुछ उच्च स्तरीय भाषाएँ तथा उनके अनुप्रयोग क्षेत्र (Some High Level Languages & Their Application Areas)
लोडर एक प्रकार का सिस्टम सॉफ्टवेयर है, जो किसी एक्जीक्यूटेबल प्रोग्राम को मेन मैमोरी में लोड करने (डालने) का कार्य करता है। यह एक निर्देशों की श्रृंखला होती है, जो प्रोग्राम को हार्ड डिस्क या फ्लॉपी से मैमोरी में भेजती है। ये ऑपरेटिंग सिस्टम का वह हिस्सा है, जो डिस्क पर पड़ी एक्जीक्यूटेबल फाइल को मेन मैमोरी पर लोड करता है और इसका क्रियान्वयन शुरू करता है।
कुछ उच्च स्तरीय भाषाएँ तथा उनके अनुप्रयोग क्षेत्र
(Some High Level Languages & Their Application Areas)
भाषा (Language) | वर्ष (Year) | खोजकर्ता (Developer) | अनुप्रयोग क्षेत्र (Application Area) | प्रकृति (Nature) |
FORTRAN (Formula Translation) | 1957 | प्रोग्राम्स के एक समूह ने बेल प्रयोगशाला में विकसित की। | गणित के क्षेत्र के लिए (विशेषकर कैल्कुलेशन के लिए)। | कम्पाइल्ड |
ALGOL (Algorithmic Language) | 1958 | यूरोपियन तथा अमेरिकी कम्प्यूटर वैज्ञानिकों ने सामूहिक रूप से विकसित की। | वैज्ञानिक अनुप्रयोग के लिए | कम्पाइल्ड |
LISP (List Processing) | 1958 | जॉन मकार्थी ने MIT इन्स्टीट्यूट में विकसित की। | आर्टीफिशियल इण्टेलिजेन्स के क्षेत्र में | कम्पाइल्ड और इण्टरप्रेटेड |
COBOL (Common Business Oriented Language) | 1959 | ग्रेस हूपर ने विकसित की। | बिजनेस परपज (Purpose) के लिए | कम्पाइल्ड |
BASIC (Beginner’s All Purpose Symbolic Instruction Code) | 1964 | जॉन जी केमेनी और ई. कुर्टज ने डर्टमाउथ कालेज न्यू हैमिसपायर में विकसित की। | शिक्षण कार्य के लिए | इण्टरप्रेटेड |
PASCAL | 1970 | निकलोस विर्थ ने विकसित की। | शिक्षण कार्य के लिए | कम्पाइल्ड |
C | 1972 | डेनिस रिचि ने बेल प्रयोगशाला में विकसित की। | सिस्टम प्रोग्रामिग के लिए | कम्पाइल्ड |
C++ | 1983 | बज़ारने स्ट्रोस्ट्रप ने बेल प्रयोगशाला में विकसित की। | सिस्टम ऑब्जेक्ट प्रोग्रामिंग के लिए | कम्पाइल्ड |
JAVA | 1995 | जेम्स गोसलिंग ने सन माइक्रोसिस्टम में विकसित की। | इण्टरनेट आधारित प्रोग्रामिंग के क्षेत्र में | कम्पाइल्ड और इण्टरप्रेटेड |
भाषा अनुवादक (Language Translators)
ये ऐसे प्रोग्राम हैं, जो विभिन्न प्रोग्रामिंग भाषाओं में लिखे गए प्रोग्रामों का अनुवाद कम्प्यूटर की मशीनी भाषा (Machine Language) में करते हैं। यह अनुवाद कराना इसलिए आवश्यक होता है, क्योंकि कम्प्यूटर केवल अपनी मशीनी भाषा में लिखे हुए प्रोग्राम का ही पालन कर सकता है। भाषा अनुवादकों को मुख्यतः तीन श्रेणियों में बाँटा जाता है।
असेम्बलर (Assembler)
यह एक ऐसा प्रोग्राम होता है, जो असेम्बली भाषा (Assembly Language) में लिखे गए किसी प्रोग्राम को पढ़ता है और उसका अनुवाद मशीनी भाषा में कर देता है। असेम्बली भाषा के प्रोग्राम को सोर्स प्रोग्राम (Source Program) क़हा जाता है। इसका मशीनी भाषा में अनुवाद करने के बाद जो प्रोग्राम प्राप्त होता है, उसे ऑब्जेक्ट प्रोग्राम (Object Program) कहा जाता है।
कम्पाइलर (Compiler)
यह एक ऐसा प्रोग्राम होता है, जो किसी प्रोग्रामर द्वारा उच्च स्तरीय प्रोग्रामिंग भाषा (High-level Programming Language) में लिखे गए सोर्स प्रोग्राम का अनुवाद मशीनी भाषा में करता है। कम्पाइलर सोर्स प्रोग्राम के प्रत्येक कथन या निर्देश का अनुवाद करके उसे मशीनी भाषा के निर्देशों में बदल देता है। प्रत्येक उच्चस्तरीय भाषा के लिए एक अलग कम्पाइलर की आवश्यकता होती है।
इण्टरप्रेटर (Interpreter)
यह किसी प्रोग्रामर द्वारा उच्च स्तरीय प्रोग्रामिंग भाषा (High-level Programming Language) में लिखे गए सोर्स प्रोग्राम का अनुवाद मशीनी भाषा में करता है, परन्तु यह एक बार में सोर्स प्रोग्राम के केवल एक कथन को मशीनी भाषा में अनुवाद करता है और उनका पालन कराता है। इनका पालन हो जाने के बाद ही वह सोर्स प्रोग्राम के अगले कथन का मशीनी भाषा में अनुवाद करता है। मूलतः कम्पाइलर और इण्टरप्रेटर का कार्य समान होता है, अन्तर केवल यह है कि कम्पाइलर जहाँ ऑब्जेक्ट प्रोग्राम बनाता है, वहाँ वहीं इण्टरप्रेटर कुछ नहीं बनाता। इसलिए इण्टरप्रेटर का उपयोग करते समय हर बार सोर्स प्रोग्राम की आवश्यकता पड़ती है।
Read Also …..