Follow Us
माध्यम चुनें / Select Medium:
Eng (English) Hindi (हिन्दी)
BSEB • कक्षा 8 • Computer Science • अध्याय 1
अनुमानित समय: 45 Mins
प्रगति: अध्ययनरत

कंप्यूटर भाषा का परिचय (Introduction to Computer Language)

कंप्यूटर एक अत्यंत तीव्रगामी और शक्तिशाली इलेक्ट्रॉनिक मशीन है जो प्रति सेकंड अरबों गणनाएं संपन्न कर सकती है; परंतु इसके पास स्वयं की कोई प्राकृतिक मानवीय बुद्धि नहीं होती और यह हिंदी या अंग्रेजी जैसी हमारी सामान्य बोलचाल की भाषाओं को सीधे तौर पर समझने में पूरी तरह असमर्थ है। कंप्यूटर का सीपीयू (CPU) केवल डिजिटल इलेक्ट्रॉनिक स्पंदनों (Electric Pulses) पर कार्य करता है, जिसे गणितीय रूप में बाइनरी अंकों—0 और 1—द्वारा व्यक्त किया जाता है। मानवीय विचारों और कंप्यूटर के सिलिकॉन परिपथों के बीच संवाद स्थापित करने के लिए कंप्यूटर वैज्ञानिकों ने कंप्यूटर भाषाओं (Computer Programming Languages) का विकास किया। बिहार विद्यालय परीक्षा समिति (BSEB) कक्षा 8 कंप्यूटर विज्ञान पाठ्यक्रम के अनुसार प्रस्तुत अध्याय विद्यार्थियों को प्रोग्रामिंग भाषाओं की रोमांचक विकास यात्रा से परिचित कराता है। विद्यार्थी सीखते हैं कि किस प्रकार प्रथम पीढ़ी की जटिल मशीन भाषा (1GL) और द्वितीय पीढ़ी की निमोनिक्स-आधारित असेंबली भाषा (2GL) से आगे बढ़कर मानव-सुलभ उच्च स्तरीय भाषाओं—जैसे FORTRAN, COBOL, BASIC, और C (3GL)—का जन्म हुआ। इसके अतिरिक्त, अध्याय चतुर्थ पीढ़ी की डेटाबेस भाषाओं (4GL - SQL) और पंचम पीढ़ी की कृत्रिम बुद्धिमत्ता भाषाओं (5GL - PROLOG) का गहन परिचय देता है। विद्यार्थी भाषा अनुवादकों (असेंबलर, कंपाइलर, इंटरप्रेटर) के सूक्ष्म अंतर, सॉफ्टवेयर निष्पादन पाइपलाइन (सोर्स कोड, ऑब्जेक्ट कोड, लिंकर, लोडर), त्रुटियों के वैज्ञानिक वर्गीकरण (सिंटैक्स, लॉजिकल, रन-टाइम) और कंप्यूटिंग के ऐतिहासिक अग्रदूतों के योगदान का पूर्ण परीक्षा-उन्मुख एवं व्यावहारिक अध्ययन करते हैं।

यह अध्याय क्यों महत्वपूर्ण है

कंप्यूटर एक अत्यंत तीव्रगामी और शक्तिशाली इलेक्ट्रॉनिक मशीन है जो प्रति सेकंड अरबों गणनाएं संपन्न कर सकती है; परंतु इसके पास स्वयं की कोई प्राकृतिक मानवीय बुद्धि नहीं होती और यह हिंदी या अंग्रेजी जैसी हमारी सामान्य बोलचाल की भाषाओं को सीधे तौर पर समझने में पूरी तरह असमर्थ है। कंप्यूटर का सीपीयू (CPU) केवल डिजिटल इलेक्ट्रॉनिक स्पंदनों (Electric Pulses) पर कार्य करता है, जिसे गणितीय रूप में बाइनरी अंकों—0 और 1—द्वारा व्यक्त किया जाता है। मानवीय विचारों और कंप्यूटर के सिलिकॉन परिपथों के बीच संवाद स्थापित करने के लिए कंप्यूटर वैज्ञानिकों ने कंप्यूटर भाषाओं (Computer Programming Languages) का विकास किया। बिहार विद्यालय परीक्षा समिति (BSEB) कक्षा 8 कंप्यूटर विज्ञान पाठ्यक्रम के अनुसार प्रस्तुत अध्याय विद्यार्थियों को प्रोग्रामिंग भाषाओं की रोमांचक विकास यात्रा से परिचित कराता है। विद्यार्थी सीखते हैं कि किस प्रकार प्रथम पीढ़ी की जटिल मशीन भाषा (1GL) और द्वितीय पीढ़ी की निमोनिक्स-आधारित असेंबली भाषा (2GL) से आगे बढ़कर मानव-सुलभ उच्च स्तरीय भाषाओं—जैसे FORTRAN, COBOL, BASIC, और C (3GL)—का जन्म हुआ। इसके अतिरिक्त, अध्याय चतुर्थ पीढ़ी की डेटाबेस भाषाओं (4GL - SQL) और पंचम पीढ़ी की कृत्रिम बुद्धिमत्ता भाषाओं (5GL - PROLOG) का गहन परिचय देता है। विद्यार्थी भाषा अनुवादकों (असेंबलर, कंपाइलर, इंटरप्रेटर) के सूक्ष्म अंतर, सॉफ्टवेयर निष्पादन पाइपलाइन (सोर्स कोड, ऑब्जेक्ट कोड, लिंकर, लोडर), त्रुटियों के वैज्ञानिक वर्गीकरण (सिंटैक्स, लॉजिकल, रन-टाइम) और कंप्यूटिंग के ऐतिहासिक अग्रदूतों के योगदान का पूर्ण परीक्षा-उन्मुख एवं व्यावहारिक अध्ययन करते हैं।

अध्याय रूपरेखा एवं प्रगति

1 डिजिटल इलेक्ट्रॉनिक वास्तविकता एवं...
2 प्रथम पीढ़ी (1GL) - मशीन भाषा: बाइन...
3 द्वितीय पीढ़ी (2GL) - असेंबली भाषा...
4 तृतीय पीढ़ी (3GL) - उच्च स्तरीय प्र...
5 चतुर्थ एवं पंचम पीढ़ी (4GL और 5GL)...
6 भाषा अनुवादक: असेंबलर, कंपाइलर एवं...
7 सॉफ्टवेयर जीवन-चक्र, प्रोग्रामिंग त...

सम्पूर्ण सैद्धांतिक एवं वैचारिक अध्ययन

डिजिटल इलेक्ट्रॉनिक वास्तविकता एवं कंप्यूटर भाषा की आधारभूत संकल्पना

आधारभूत संकल्पना: डिजिटल इलेक्ट्रॉनिक वास्तविकता एवं कंप्यूटर भाषा की आवश्यकता

मानव समाज में हम अपने विचारों, भावनाओं और निर्देशों का आदान-प्रदान हिंदी, अंग्रेजी, मैथिली, भोजपुरी या उर्दू जैसी प्राकृतिक भाषाओं (Natural Languages) के माध्यम से करते हैं। परंतु कंप्यूटर कोई हाड़-मांस का सजीव प्राणी नहीं है; यह अरबों सूक्ष्म अर्धचालक ट्रांजिस्टरों (Semiconductor Transistors) से निर्मित एक अत्यंत परिष्कृत डिजिटल इलेक्ट्रॉनिक उपकरण है। कंप्यूटर से किसी भी प्रकार की गणना कराने, डेटा प्रबंधित करने अथवा समस्या हल कराने के लिए हमें उसकी इलेक्ट्रॉनिक प्रकृति के अनुकूल माध्यम में संवाद करना पड़ता है, जिसे कंप्यूटर भाषा (Computer Language / Programming Language) कहा जाता है।

1. प्रोग्रामिंग शब्दावली की आधारशिला

  • निर्देश (Instruction): कंप्यूटर को किसी विशिष्ट कार्य (जैसे दो संख्याओं को जोड़ना, मेमोरी में मान सुरक्षित करना, या स्क्रीन पर टेक्स्ट प्रदर्शित करना) को पूरा करने के लिए दिया जाने वाला एकल आदेश निर्देश कहलाता है।
  • प्रोग्राम (Program): कंप्यूटर भाषा में लिखे गए तार्किक और क्रमबद्ध निर्देशों का वह समूह जो कंप्यूटर को चरण-दर-चरण किसी संपूर्ण समस्या को हल करने या किसी कार्य को निष्पादित करने के लिए निर्देशित करता है, प्रोग्राम कहलाता है।
  • प्रोग्रामर (Programmer): वह तकनीकी विशेषज्ञ या सॉफ्टवेयर इंजीनियर जो प्रोग्रामिंग भाषाओं के व्याकरण और नियमों का उपयोग करके कंप्यूटर प्रोग्रामों की रूपरेखा तैयार करता है, कोड लिखता है, उसका परीक्षण करता है और त्रुटियों को सुधारता है।
  • प्रोग्रामिंग या कोडिंग (Programming / Coding): किसी कंप्यूटर भाषा के नियमों के अनुसार सोर्स कोड की रचना करने, उसे लिखने, संकलित करने और त्रुटिरहित बनाने की बौद्धिक व तकनीकी प्रक्रिया को प्रोग्रामिंग कहते हैं।
  • सिंटैक्स एवं सेमेंटिक्स (Syntax and Semantics): सिंटैक्स (Syntax) किसी प्रोग्रामिंग भाषा के औपचारिक व्याकरणिक नियमों, विराम चिह्नों और संरचनात्मक प्रारूप को कहते हैं। सेमेंटिक्स (Semantics) उन सिंटैक्स कथनों के वास्तविक तार्किक अर्थ और उनके द्वारा कंप्यूटर में होने वाले प्रभाव को व्यक्त करता है।

2. कंप्यूटर सीधे मानवीय भाषाओं को क्यों नहीं समझ सकता?

कक्षा 8 के विद्यार्थियों के मन में यह स्वाभाविक प्रश्न उठता है कि हम कंप्यूटर को साधारण हिंदी या अंग्रेजी में सीधे निर्देश क्यों नहीं दे सकते, जैसे: "कंप्यूटर, कक्षा 8 के सभी छात्रों के प्राप्तांकों का औसत निकालो और प्रथम दस छात्रों की सूची दिखाओ"। इसके दो अकाट्य वैज्ञानिक कारण हैं:

  1. इलेक्ट्रॉनिक हार्डवेयर की द्वि-आधारी प्रकृति (Digital Binary Logic): कंप्यूटर का सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) सिलिकॉन चिप पर बने लॉजिक गेट्स और ट्रांजिस्टरों से मिलकर बना होता है। विद्युत परिपथ में केवल दो ही भौतिक स्थितियाँ संभव हैं: उच्च वोल्टेज / करंट चालू (High Voltage / Current Flowing = अवस्था 1) अथवा निम्न वोल्टेज / करंट बंद (Low Voltage / Zero Current = अवस्था 0)। इस द्वि-आधारी (Bi-stable) इलेक्ट्रॉनिक प्रकृति के कारण कंप्यूटर का हार्डवेयर केवल बाइनरी संकेतों—0 और 1—को ही सीधे समझ और संसाधित कर सकता है।
  2. प्राकृतिक भाषाओं की अस्पष्टता और बहुअर्थी स्वभाव (Ambiguity): मानवीय भाषाएं स्वाभाविक रूप से मुहावरों, अलंकारों, संदर्भगत अर्थों और अपवादों से भरी होती हैं। उदाहरण के लिए, यदि हम कहें "रोको मत जाने दो", तो अल्पविराम (कॉमा) के स्थान के आधार पर इसके दो परस्पर विरोधी अर्थ निकलते हैं: "रोको मत, जाने दो" (उसे जाने दिया जाए) और "रोको, मत जाने दो" (उसे रोक लिया जाए)। कंप्यूटर का डिजिटल सीपीयू शून्य प्रतिशत अस्पष्टता और शत-प्रतिशत गणितीय सटीकता की मांग करता है; प्रोग्रामिंग भाषाएं यह सुनिश्चित और अपरिवर्तनीय संरचना प्रदान करती हैं।

3. कंप्यूटर भाषाओं का व्यापक वर्गीकरण: निम्न स्तरीय बनाम उच्च स्तरीय भाषाएँ

कंप्यूटर हार्डवेयर से निकटता और मानवीय समझ के आधार पर कंप्यूटर भाषाओं को मुख्य रूप से दो प्रमुख वर्गों में विभाजित किया गया है:

तुलना का आधार निम्न स्तरीय भाषा (Low-Level Language - LLL) उच्च स्तरीय भाषा (High-Level Language - HLL)
हार्डवेयर से निकटता कंप्यूटर के आंतरिक हार्डवेयर और आर्किटेक्चर के अत्यंत निकट। हार्डवेयर से दूर; मानव की सोच और बोलचाल की भाषा के निकट।
कोड का स्वरूप शुद्ध बाइनरी अंक (0, 1) अथवा संक्षिप्त निमोनिक्स (ADD, MOV)। अंग्रेजी जैसे स्पष्ट शब्द (IF, ELSE, FOR, PRINT) व गणितीय प्रतीक (+, -, =)।
मशीन निर्भरता (Portability) 100% मशीन-निर्भर (Machine-Dependent)। एक सीपीयू का कोड दूसरे पर नहीं चलता। मशीन-स्वतंत्र (Machine-Independent / Portable)। किसी भी कंप्यूटर पर चल सकता है।
अनुवादक की आवश्यकता मशीन भाषा को किसी अनुवादक की आवश्यकता नहीं; असेंबली को असेंबलर चाहिए। अनिवार्य रूप से कंपाइलर (Compiler) या इंटरप्रेटर (Interpreter) आवश्यक है।
सीखने और डीबग करने में सुगमता अत्यंत कठिन; गलतियों को खोजना और सुधारना सिरदर्द के समान है। अत्यंत सुगम; सीखने में आसान और त्रुटियों को पहचानना बहुत सरल।
प्रमुख उदाहरण मशीन भाषा (1GL) एवं असेंबली भाषा (2GL)। BASIC, C, C++, Java, Python, FORTRAN, COBOL (3GL से आगे)।
परीक्षा के लिए मुख्य बिंदु:

बिहार बोर्ड परीक्षा में अक्सर पूछा जाता है: "क्या असेंबली भाषा उच्च स्तरीय भाषा है?" उत्तर है: कदापि नहीं। यद्यपि असेंबली भाषा में अंग्रेजी के संक्षिप्त शब्द (निमोनिक्स) प्रयुक्त होते हैं, फिर भी यह पूरी तरह कंप्यूटर के प्रोसेसर आर्किटेक्चर पर निर्भर होती है और हार्डवेयर रजिस्टरों से सीधे जुड़ती है, अतः यह अनिवार्यतः एक निम्न स्तरीय भाषा (Low-Level Language) है।

प्रथम पीढ़ी (1GL) - मशीन भाषा: बाइनरी स्वरूप, निष्पादन एवं सीमाएं

प्रथम पीढ़ी की भाषा (1GL): मशीन भाषा (Machine Language)

कंप्यूटर इतिहास के प्रारंभिक काल (1940 के दशक) में जब प्रथम पीढ़ी के कंप्यूटर (जैसे ENIAC, EDVAC, UNIVAC-I) अस्तित्व में आए, तब उनके संचालन के लिए केवल एक ही भाषा उपलब्ध थी—मशीन भाषा (Machine Language)। यह कंप्यूटर की अपनी स्वाभाविक और मूल भाषा (Native Tongue) है, जिसे सीपीयू बिना किसी मध्यस्थ या अनुवादक के सीधे विद्युत संकेतों के रूप में निष्पादित कर सकता है।

1. मशीन निर्देश की आंतरिक संरचना (Opcode + Operand)

मशीन भाषा में लिखा गया प्रत्येक निर्देश केवल बाइनरी अंकों—0 और 1—की एक लंबी श्रृंखला होता है। एक सामान्य मशीन निर्देश को हार्डवेयर स्तर पर दो बुनियादी भागों में विभाजित किया जाता है:

ऑपरेशन कोड (Opcode)
उदा: 10110000 (जोड़ो / ADD)
+
ऑपरेंड / पता (Operand / Address)
उदा: 00010100 (मेमोरी पता 20)
  • ऑपकोड (Operation Code - Opcode): यह निर्देश का वह भाग है जो सीपीयू के कंट्रोल यूनिट को यह बताता है कि कौन सा विशिष्ट कार्य करना है (जैसे: लोड करना, जोड़ना, घटाना, गुणा करना, या स्टोर करना)।
  • ऑपरेंड (Operand / Memory Address): यह निर्देश का वह भाग है जो यह निर्दिष्ट करता है कि वह कार्य किस डेटा पर अथवा किस मेमोरी सेल / रजिस्टर के डेटा पर संपन्न किया जाना है।

2. मशीन भाषा के निर्विवाद लाभ

  • अत्यंत तीव्र निष्पादन गति (Fastest Execution Speed): चूँकि मशीन कोड सीधे बाइनरी में होता है, सीपीयू इसे बिना किसी अनुवादक के तुरंत विद्युत परिपथों द्वारा निष्पादित कर देता है। विश्व में कोई भी भाषा मशीन भाषा से अधिक तीव्र गति से निष्पादित नहीं हो सकती।
  • शून्य अनुवाद विलंब (No Translation Overhead): इस भाषा में लिखे गए प्रोग्राम को चलाने के लिए किसी कंपाइलर, इंटरप्रेटर या असेंबलर की आवश्यकता नहीं होती; अतः अनुवाद में कोई समय या सिस्टम मेमोरी व्यय नहीं होती।
  • हार्डवेयर रजिस्टरों का सीधा उपयोग: प्रोग्रामर कंप्यूटर के आंतरिक रजिस्टरों और मेमोरी लोकेशनों का शत-प्रतिशत सटीक और पूर्ण नियंत्रण कर सकता है।

3. मशीन भाषा की गंभीर सीमाएं एवं कमियां

  • कठिन और अमानवीय (Highly Complex & Error-Prone): मनुष्य के लिए 0 और 1 के हजारों संयोजनों को याद रखना असंभव है। यदि 500 लाइनों के कोड में एक भी शून्य (0) गलती से एक (1) हो जाए, तो संपूर्ण प्रोग्राम का अर्थ बदल जाता है और पूरा सिस्टम क्रैश हो जाता है।
  • त्रुटि निवारण (Debugging) लगभग असंभव: लाखों बाइनरी अंकों में से यह खोजना कि किस विशेष बिट पर गलती हुई है, भूसे के ढेर में सुई खोजने जैसा दुष्कर कार्य था।
  • पूर्णतः मशीन-निर्भर (100% Machine-Dependent): प्रत्येक कंप्यूटर निर्माता अपने प्रोसेसर के परिपथों के अनुसार अलग मशीन कोड बनाता था। यदि आपने IBM 701 कंप्यूटर के लिए कोई प्रोग्राम लिखा है, तो वह UNIVAC या अन्य किसी कंप्यूटर पर 1% भी कार्य नहीं करेगा। संपूर्ण प्रोग्राम को नए सिरे से लिखना पड़ता था।
  • पंच कार्ड और मानवीय थकान: उस युग में प्रोग्रामों को पंच कार्डों (Punched Cards) में छिद्र करके लोड किया जाता था। एक साधारण जोड़ करने के लिए भी प्रोग्रामर को घंटों कागजी गणनाएं करनी पड़ती थीं।

द्वितीय पीढ़ी (2GL) - असेंबली भाषा एवं असेंबलर का कार्य सिद्धांत

द्वितीय पीढ़ी की भाषा (2GL): असेंबली भाषा एवं असेंबलर (Assembly Language & Assembler)

1950 के दशक के प्रारंभ में मशीन भाषा की भारी जटिलता, शून्य और एक के अंतहीन जाल और मानवीय थकान से मुक्ति पाने के लिए कंप्यूटर वैज्ञानिकों ने एक क्रांतिकारी कदम उठाया। उन्होंने बाइनरी ऑपकोड के स्थान पर अंग्रेजी के संक्षिप्त, याद रखने योग्य प्रतीकात्मक शब्दों का उपयोग करना प्रारंभ किया। इस प्रकार द्वितीय पीढ़ी की भाषा (Second Generation Language - 2GL) अर्थात असेंबली भाषा (Assembly Language) का प्रादुर्भाव हुआ।

1. निमोनिक्स कोड (Mnemonics) की संकल्पना

असेंबली भाषा की सबसे बड़ी विशेषता निमोनिक्स (Mnemonics) का उपयोग है। 'निमोनिक' एक ग्रीक शब्द है जिसका अर्थ होता है "स्मृति में सहायक"। असेंबली भाषा में बाइनरी ऑपरेशनों को 2 से 4 अक्षरों वाले संक्षिप्त अंग्रेजी शब्दों द्वारा दर्शाया गया:

निमोनिक (Mnemonic) पूर्ण नाम / अर्थ कार्य का विवरण उदाहरण कथन
MOV Move / Transfer Data डेटा को एक रजिस्टर से दूसरे में या मेमोरी से रजिस्टर में स्थानांतरित करना। MOV AX, 15
ADD Addition दो रजिस्टरों या मानों का योग करना। ADD AX, BX
SUB Subtraction एक रजिस्टर के मान से दूसरे को घटाना। SUB AX, 5
JMP Jump (Unconditional) प्रोग्राम के निष्पादन प्रवाह को किसी निर्दिष्ट लेबल पर स्थानांतरित करना। JMP LOOP_START
INC / DEC Increment / Decrement रजिस्टर के मान में 1 की वृद्धि करना अथवा 1 की कमी करना। INC CX
CMP Compare दो ऑपरेंड्स की परस्पर तुलना करना (घटाव द्वारा स्टेटस फ्लैग सेट करना)। CMP AX, 0

2. भाषा अनुवादक का उदय: असेंबलर (The Assembler)

हालाँकि निमोनिक्स मनुष्य के लिए पढ़ने और लिखने में बाइनरी 0 और 1 की तुलना में बहुत सरल थे, किंतु कंप्यूटर का इलेक्ट्रॉनिक सीपीयू अब भी केवल 0 और 1 ही समझ सकता था। सीपीयू ADD AX, BX जैसे शब्दों को सीधे निष्पादित नहीं कर सकता था। अतः असेंबली कोड को बाइनरी मशीन कोड में बदलने के लिए एक विशेष सिस्टम सॉफ्टवेयर तैयार किया गया, जिसे असेंबलर (Assembler) कहा जाता है।

सोर्स प्रोग्राम (Source Program - 2GL) → असेंबलर (Assembler) → ऑब्जेक्ट कोड (Object Code - बाइनरी 0/1)

3. असेंबली भाषा की उपलब्धियां बनाम सीमाएं

लाभ (Advantages)
  • मशीन भाषा की तुलना में लिखना, समझना और याद रखना अत्यंत सुगम।
  • प्रतीकात्मक मेमोरी पतों (Labels) का उपयोग, जिससे भौतिक मेमोरी पते याद रखने की आवश्यकता समाप्त हो गई।
  • प्रोग्राम में गलतियों (Bugs) को खोजना और सुधारना अपेक्षाकृत बहुत आसान।
  • हार्डवेयर पर शत-प्रतिशत सीधा नियंत्रण; तीव्रतम निष्पादन गति।
सीमाएं (Limitations)
  • मशीन-निर्भर (Machine-Dependent): प्रत्येक प्रोसेसर (जैसे Intel x86, ARM, MIPS) का अपना असेंबली सिंटैक्स होता है। एक चिप का कोड दूसरी चिप पर नहीं चलता।
  • प्रोग्रामर को कंप्यूटर के आंतरिक रजिस्टरों और बस आर्किटेक्चर का गहन ज्ञान होना अनिवार्य था।
  • अनुवाद हेतु असेंबलर सॉफ्टवेयर की आवश्यकता होती है।

तृतीय पीढ़ी (3GL) - उच्च स्तरीय प्रक्रियात्मक भाषाएँ: FORTRAN, COBOL, BASIC एवं C

तृतीय पीढ़ी की भाषा (3GL): उच्च स्तरीय प्रक्रियात्मक भाषाएँ (High-Level Languages)

1950 के दशक के उत्तरार्ध में कंप्यूटरों का उपयोग केवल सैन्य या वैज्ञानिक प्रयोगशालाओं तक सीमित न रहकर विश्वविद्यालयों, व्यापारिक घरानों और सरकारी विभागों में फैलने लगा। अब ऐसे लाखों सामान्य लोगों को कंप्यूटर प्रोग्रामिंग की आवश्यकता थी जो कंप्यूटर के आंतरिक हार्डवेयर या रजिस्टरों की जटिलताओं से सर्वथा अनभिज्ञ थे। इस आवश्यकता ने तृतीय पीढ़ी की भाषाओं (3GL - Third Generation Languages) अर्थात उच्च स्तरीय भाषाओं (High-Level Languages) को जन्म दिया।

1. उच्च स्तरीय भाषाओं की क्रांतिकारी विशेषताएं

  • मानव-सुलभ अंग्रेजी शब्दावली (English-like Syntax): प्रोग्रामिंग में सीधे अंग्रेजी के क्रिया-शब्दों और व्याकरण का प्रयोग किया जाने लगा—जैसे IF, THEN, ELSE, FOR, WHILE, PRINT, INPUT आदि।
  • सामान्य गणितीय व्यंजक (Standard Mathematical Notations): जटिल रजिस्टरों के बजाय सीधे गणितीय सूत्र लिखे जाने लगे, जैसे: Area = 3.14 * Radius * Radius अथवा Total = Mark1 + Mark2 + Mark3।
  • मशीन स्वतंत्रता एवं सुवाह्यता (Machine Independence & Portability): उच्च स्तरीय भाषा में लिखा गया प्रोग्राम किसी एक विशेष ब्रांड के प्रोसेसर से बंधा नहीं होता। वही प्रोग्राम आईबीएम, डेल, एचपी या एप्पल के किसी भी कंप्यूटर पर सामान्य कंपाइलर की सहायता से चलाया जा सकता है।
  • प्रक्रियात्मक प्रतिमान (Procedural Paradigm): समस्या को हल करने के लिए स्पष्ट, सुव्यवस्थित और चरण-दर-चरण कलन-विधि (Algorithm) और फलनों (Functions/Subroutines) का ढांचा।

2. 3GL की ऐतिहासिक युगांतरकारी भाषाएँ

भाषा का नाम वर्ष एवं जनक पूर्ण नाम / विस्तार उद्देश्य एवं प्रमुख अनुप्रयोग क्षेत्र
FORTRAN 1957
जॉन बैकस (IBM)
FORmula TRANslation विश्व की सर्वप्रथम उच्च स्तरीय भाषा। जटिल गणितीय, वैज्ञानिक गणनाओं, मौसम विज्ञान और रॉकेट साइंस हेतु निर्मित।
COBOL 1959
ग्रेस हॉपर / CODASYL
COmmon Business Oriented Language व्यापारिक, वित्तीय और बैंकिंग क्षेत्र का विशाल डेटा प्रोसेस करने हेतु। आज भी वैश्विक बैंकिंग में प्रयुक्त।
BASIC 1964
जॉन केमेनी व थॉमस कुर्ट्ज़
Beginner's All-purpose Symbolic Instruction Code विद्यालयी और कॉलेज के नए विद्यार्थियों को प्रोग्रामिंग सिखाने हेतु डिजाइन की गई अत्यंत सरल भाषा। QBasic इसी का वंशज है।
Pascal 1970
निक्लॉस विर्थ
ब्लेज पास्कल के सम्मान में नामकरण संरचित प्रोग्रामिंग (Structured Programming) सिखाने और सॉफ्टवेयर इंजीनियरिंग के अनुशासन हेतु निर्मित।
C Language 1972
डेनिस रिची (Bell Labs)
'B' भाषा का विकसित रूप आधुनिक कंप्यूटर विज्ञान की जननी। UNIX ऑपरेटिंग सिस्टम, कंपाइलर और सिस्टम सॉफ्टवेयर के निर्माण हेतु विकसित।
उच्च स्तरीय भाषा का एक सरल उदाहरण (Basic Code):

10 INPUT "पहला अंक दर्ज करें: ", A
20 INPUT "दूसरा अंक दर्ज करें: ", B
30 LET C = A + B
40 PRINT "दोनों अंकों का योगफल है = "; C
50 END

उपरोक्त कोड को देखकर कोई भी विद्यार्थी आसानी से समझ सकता है कि यह प्रोग्राम क्या कर रहा है। यही 3GL की सबसे बड़ी शक्ति है।

चतुर्थ एवं पंचम पीढ़ी (4GL और 5GL) - गैर-प्रक्रियात्मक, SQL और कृत्रिम बुद्धिमत्ता भाषाएँ

चतुर्थ एवं पंचम पीढ़ी (4GL और 5GL): गैर-प्रक्रियात्मक, डेटाबेस एवं कृत्रिम बुद्धिमत्ता भाषाएँ

जैसे-जैसे कंप्यूटर उद्योग विकसित हुआ, वैसे-वैसे प्रोग्रामर की उत्पादकता (Productivity) बढ़ाने और डेटाबेस प्रबंधन को सरल बनाने की मांग बढ़ी। तृतीय पीढ़ी की भाषाओं में प्रोग्रामर को यह बताना पड़ता था कि परिणाम कैसे (HOW) प्राप्त किया जाए; जबकि चतुर्थ पीढ़ी की भाषाओं (4GL) ने इस दृष्टिकोण को बदलकर केवल यह बताना सिखाया कि क्या (WHAT) परिणाम चाहिए। इसके पश्चात पंचम पीढ़ी की भाषाओं (5GL) ने कृत्रिम बुद्धिमत्ता (Artificial Intelligence) और तार्किक अनुमान के नए क्षितिज खोले।

1. चतुर्थ पीढ़ी की भाषाएँ (4GL - Fourth Generation Languages)

4GL को गैर-प्रक्रियात्मक भाषाएँ (Non-Procedural / Declarative Languages) कहा जाता है। इसमें प्रोग्रामर को लूप (Loops), पॉइंटर (Pointers), या जटिल मेमोरी आवंटन लिखने की आवश्यकता नहीं होती। उपयोगकर्ता केवल अपने इच्छित परिणाम का विवरण देता है, और भाषा का आंतरिक इंजन स्वयं यह तय करता है कि डेटा को डिस्क से कैसे खोजना है।

4GL की प्रमुख विशेषताएं एवं लाभ:
  • तीव्र सॉफ्टवेयर विकास (Rapid Application Development): 3GL की तुलना में 4GL में कोड 5 से 10 गुना कम लिखना पड़ता है, जिससे सॉफ्टवेयर निर्माण में समय और लागत की भारी बचत होती है।
  • डेटाबेस प्रबंधन में सर्वोच्च: इसका सबसे बड़ा और जीवंत उदाहरण SQL (Structured Query Language) है, जिसका उपयोग विश्व के सभी डेटाबेसों में जानकारी प्राप्त करने हेतु किया जाता है।
  • गैर-प्रोग्रामरों के लिए सुलभ: व्यावसायिक विश्लेषक और बैंक प्रबंधक बिना गहन कोडिंग सीखे भी डेटा क्वेरी और रिपोर्ट तैयार कर सकते हैं।
4GL (SQL) का उदाहरण:
SELECT Name, Marks FROM Students WHERE Marks >= 75 ORDER BY Marks DESC;

2. पंचम पीढ़ी की भाषाएँ (5GL - Fifth Generation Languages)

पंचम पीढ़ी की भाषाएँ कृत्रिम बुद्धिमत्ता (AI), तार्किक प्रोग्रामिंग (Logic Programming), और न्यूरल नेटवर्कों के सिद्धांतों पर आधारित हैं। इन भाषाओं का मुख्य दर्शन यह है कि कंप्यूटर को समस्या हल करने की विधि बताने के बजाय, कंप्यूटर को तथ्यों (Facts) और नियमों (Rules) का ज्ञानकोष दे दिया जाए। इसके पश्चात कंप्यूटर का इन्फरेंस इंजन (Inference Engine) स्वयं तार्किक निष्कर्ष निकालकर समस्याओं का समाधान ढूंढता है।

  • PROLOG (PROgramming in LOGic - 1972): कृत्रिम बुद्धिमत्ता और विशेषज्ञ प्रणालियों (Expert Systems) में सर्वाधिक प्रयुक्त भाषा। इसमें ज्ञानकोष में संबंध परिभाषित किए जाते हैं और कंप्यूटर प्रश्नों के उत्तर खोजता है।
  • LISP (LISt Processing - 1958/जॉन मैकार्थी): एआई अनुसंधान, प्रतीकात्मक संगणना और प्राकृतिक भाषा प्रसंस्करण (NLP) का ऐतिहासिक आधार।
  • अनुप्रयोग: रोबोटिक्स, स्वचालित चिकित्सा निदान प्रणाली, आवाज पहचान (Speech Recognition), एवं शतरंज खेलने वाले सुपरकंप्यूटर।

3. कंप्यूटर भाषाओं की पाँचों पीढ़ियों (1GL से 5GL) की महा-तुलना तालिका

पीढ़ी प्रमुख भाषा वर्ग निर्देशों का स्वरूप अनुवादक मशीन निर्भरता प्रमुख उदाहरण
1GL (1940s) मशीन भाषा शुद्ध बाइनरी (0 और 1) कोई नहीं (सीधा सीपीयू) 100% मशीन-निर्भर मशीन कोड (Opcode/Operand)
2GL (1950s) असेंबली भाषा निमोनिक्स (ADD, MOV) असेंबलर (Assembler) मशीन-निर्भर MASM, NASM, TASM
3GL (1960-70s) उच्च स्तरीय प्रक्रियात्मक अंग्रेजी शब्द व गणितीय सूत्र कंपाइलर / इंटरप्रेटर मशीन-स्वतंत्र (Portable) C, BASIC, COBOL, FORTRAN
4GL (1980s) गैर-प्रक्रियात्मक घोषणात्मक इच्छित परिणाम (WHAT) डेटाबेस क्वेरी इंजन मशीन-स्वतंत्र SQL, PL/SQL, Focus, Informix
5GL (1990s+) कृत्रिम बुद्धिमत्ता एवं लॉजिक तथ्य, नियम व प्रतिबंध इन्फरेंस इंजन (AI Engine) मशीन-स्वतंत्र PROLOG, LISP, Mercury

भाषा अनुवादक: असेंबलर, कंपाइलर एवं इंटरप्रेटर का तुलनात्मक विश्लेषण

भाषा अनुवादक: असेंबलर, कंपाइलर एवं इंटरप्रेटर का संपूर्ण वैज्ञानिक विश्लेषण

जैसा कि हमने अध्ययन किया, मनुष्य द्वारा लिखे गए किसी भी उच्च स्तरीय अथवा असेंबली प्रोग्राम को कंप्यूटर का इलेक्ट्रॉनिक सीपीयू सीधे नहीं चला सकता। मानव-लिखित सोर्स कोड (Source Code) को मशीन-पठनीय बाइनरी ऑब्जेक्ट कोड (Object Code) में रूपांतरित करने के लिए विशेष अनुवादक सॉफ्टवेयर की आवश्यकता होती है, जिन्हें सामूहिक रूप से भाषा अनुवादक (Language Translators / Language Processors) कहा जाता है।

1. भाषा अनुवादकों के तीन प्रमुख प्रकार

  • 1. असेंबलर (Assembler): वह भाषा अनुवादक जो असेंबली भाषा (2GL) में लिखे गए निमोनिक्स और प्रतीकात्मक पतों वाले सोर्स प्रोग्राम को बाइनरी मशीन कोड में परिवर्तित करता है। यह 1-से-1 अनुवाद करता है।
  • 2. कंपाइलर (Compiler): वह शक्तिशाली भाषा अनुवादक जो उच्च स्तरीय भाषा (जैसे C, C++, Pascal) में लिखे गए संपूर्ण सोर्स प्रोग्राम को एक साथ (All at Once) स्कैन करता है और संपूर्ण प्रोग्राम को सीधे एक स्थायी मशीन भाषा निष्पादन योग्य फ़ाइल (Executable File - .exe) में बदल देता है।
  • 3. इंटरप्रेटर (Interpreter): वह भाषा अनुवादक जो उच्च स्तरीय भाषा (जैसे QBasic, Python, JavaScript) में लिखे गए प्रोग्राम को पंक्ति-दर-पंक्ति (Line-by-Line) पढ़ता है, उसका अनुवाद करता है और उसे तुरंत निष्पादित करता है। यह कोई स्थायी ऑब्जेक्ट फ़ाइल नहीं बनाता।

2. कंपाइलर बनाम इंटरप्रेटर: 8 आयामी तुलनात्मक महा-मैट्रिक्स

बिहार बोर्ड परीक्षाओं में कंपाइलर और इंटरप्रेटर के बीच अंतर पर 3 से 5 अंकों का प्रश्न लगभग प्रतिवर्ष पूछा जाता है। निम्नलिखित तुलनात्मक तालिका को कंठस्थ करना प्रत्येक विद्यार्थी के लिए अनिवार्य है:

मापदंड कंपाइलर (Compiler) इंटरप्रेटर (Interpreter)
अनुवाद की इकाई (Translation Unit) संपूर्ण प्रोग्राम को एक ही बार में समग्र रूप से अनुवादित करता है। प्रोग्राम को एक-एक पंक्ति करके (Line-by-Line) अनुवादित व निष्पादित करता है।
ऑब्जेक्ट कोड फ़ाइल निर्माण एक स्थायी इंटरमीडिएट ऑब्जेक्ट फ़ाइल (.obj) एवं .exe फ़ाइल बनाता है। कोई मध्यवर्ती ऑब्जेक्ट फ़ाइल या .exe नहीं बनाता।
निष्पादन गति (Execution Speed) अत्यंत तीव्र; एक बार संकलित होने के बाद सीधे .exe चलती है। अपेक्षाकृत धीमी; प्रोग्राम को हर बार चलाने पर पुनः पंक्ति-दर-पंक्ति अनुवाद करना पड़ता है।
त्रुटि रिपोर्टिंग (Error Reporting) पूरे प्रोग्राम के स्कैन के बाद सभी व्याकरणिक त्रुटियों की एक समेकित सूची दिखाता है। पहली त्रुटि मिलते ही अनुवाद तुरंत रोक देता है और आगे नहीं बढ़ता।
डीबगिंग की सुगमता (Ease of Debugging) आरंभिक विद्यार्थियों के लिए थोड़ी कठिन, क्योंकि दर्जनों त्रुटियाँ एक साथ दिखती हैं। अत्यंत सरल; विद्यार्थी तुरंत उसी लाइन पर जाकर त्रुटि ठीक कर सकता है।
मेमोरी की खपत (Memory Overhead) अधिक मेमोरी की आवश्यकता होती है (संपूर्ण सिंबल टेबल और कोड को रैम में रखना)। कम मेमोरी की आवश्यकता (केवल वर्तमान पंक्ति मेमोरी में रखी जाती है)।
सोर्स कोड की निर्भरता एक बार .exe बन जाने पर मूल सोर्स कोड की कोई आवश्यकता नहीं रहती। हर बार प्रोग्राम चलाने के लिए मूल सोर्स कोड और इंटरप्रेटर दोनों अनिवार्य हैं।
प्रमुख उदाहरण भाषाएँ C, C++, COBOL, Pascal, FORTRAN, Rust, Go. QBasic, Python, JavaScript, Ruby, PHP.

सॉफ्टवेयर जीवन-चक्र, प्रोग्रामिंग त्रुटियों का वर्गीकरण एवं ऐतिहासिक अग्रदूत

सॉफ्टवेयर निष्पादन पाइपलाइन, त्रुटियों का वर्गीकरण एवं ऐतिहासिक अग्रदूत

एक सफल कंप्यूटर प्रोग्रामर बनने के लिए केवल कोड लिखना ही पर्याप्त नहीं है; यह समझना भी अनिवार्य है कि ऑपरेटिंग सिस्टम में वह कोड किस प्रकार निष्पादित होता है, प्रोग्रामिंग में कितने प्रकार की गलतियाँ (Bugs) होती हैं और उन्हें कैसे सुधारा जाता है। साथ ही, उन महान वैज्ञानिकों का स्मरण करना आवश्यक है जिन्होंने आधुनिक प्रोग्रामिंग की नींव रखी।

1. संपूर्ण सॉफ्टवेयर निष्पादन पाइपलाइन (The Execution Pipeline)

जब कोई प्रोग्रामर टेक्स्ट एडिटर में कोड लिखता है, तो वह सीधे सीपीयू तक नहीं पहुँचता। यह प्रक्रिया निम्नलिखित चार सुव्यवस्थित चरणों से होकर गुजरती है:

  1. सोर्स कोड (Source Code): प्रोग्रामर द्वारा उच्च स्तरीय भाषा में लिखा गया मूल पाठ (Text Code), जैसे student.c या prog.bas। यह मानव-पठनीय होता है किंतु सीपीयू इसे नहीं चला सकता।
  2. ऑब्जेक्ट कोड (Object Code): कंपाइलर जब सोर्स कोड का व्याकरणिक परीक्षण करके उसे बाइनरी में अनुवादित करता है, तो एक अधूरी मशीन भाषा फ़ाइल बनती है जिसे ऑब्जेक्ट फ़ाइल (student.obj) कहते हैं। इसमें सिस्टम लाइब्रेरी फ़ंक्शंस अभी जुड़े नहीं होते।
  3. लिंकर (Linker): यह एक अत्यंत महत्वपूर्ण सिस्टम यूटिलिटी सॉफ्टवेयर है। यह कंपाइलर द्वारा निर्मित ऑब्जेक्ट कोड को ऑपरेटिंग सिस्टम की पूर्व-संकलित रन-टाइम सिस्टम लाइब्रेरीज़ (Runtime Libraries)—जैसे गणितीय सूत्र, स्क्रीन डिस्प्ले और इनपुट-आउटपुट फ़ंक्शंस—के साथ जोड़ता है (Link करता है)। लिंकर सभी मेमोरी पतों को हल करके एक संपूर्ण, आत्मनिर्भर निष्पादन योग्य फ़ाइल (Executable File - student.exe) तैयार करता है।
  4. लोडर (Loader): जब प्रयोक्ता डेस्कटॉप पर .exe फ़ाइल पर डबल-क्लिक करता है, तो ऑपरेटिंग सिस्टम का लोडर सक्रिय होता है। लोडर उस .exe फ़ाइल को हार्ड डिस्क या एसएसडी से पढ़कर कंप्यूटर की प्राथमिक मेमोरी (RAM) में लोड करता है, आवश्यक मेमोरी स्पेस आवंटित करता है, और सीपीयू को पहला निर्देश निष्पादित करने का आदेश सौंपता है।

2. प्रोग्रामिंग त्रुटियों (Bugs) का वैज्ञानिक वर्गीकरण

कंप्यूटर प्रोग्रामिंग में गलतियों को 'बग' (Bug) तथा उन्हें खोजने और ठीक करने की प्रक्रिया को 'डीबगिंग' (Debugging) कहा जाता है। प्रोग्रामिंग त्रुटियों को तीन स्पष्ट श्रेणियों में विभाजित किया गया है:

त्रुटि का प्रकार परिभाषा एवं प्रकृति पहचान का समय स्पष्ट उदाहरण
व्याकरणिक त्रुटि
(Syntax Error)
प्रोग्रामिंग भाषा के नियमों, स्पेलिंग, अल्पविराम, कोष्ठक आदि का उल्लंघन करना। अनुवाद के समय (कंपाइलर या इंटरप्रेटर द्वारा तुरंत पकड़ ली जाती है)। PRNT "नमस्ते"
(PRINT की स्पेलिंग गलत)
तार्किक त्रुटि
(Logical Error)
प्रोग्रामर के एल्गोरिदम या गणितीय सूत्र में गलती। प्रोग्राम बिना त्रुटि के चलता है पर उत्तर गलत आता है। परिणाम देखते समय (कंपाइलर इसे कभी नहीं पकड़ सकता; केवल प्रयोक्ता पकड़ सकता है)। Area = L + B
(गुणा के स्थान पर जोड़ का सूत्र)
रन-टाइम त्रुटि
(Runtime Error)
प्रोग्राम निष्पादन के दौरान कोई अवैध या असंभव गणितीय कार्य होने पर प्रोग्राम का अचानक क्रैश हो जाना। लाइव निष्पादन के समय (चलते हुए प्रोग्राम के बीच में)। X = 100 / 0
(शून्य से भाग देना असंभव है)

3. कंप्यूटर प्रोग्रामिंग के ऐतिहासिक निर्माता (Pioneers of Programming)

1. लेडी एडा लवलेस (Lady Ada Lovelace - 1815-1852)

चार्ल्स बैबेज के विश्लेषणात्मक इंजन (Analytical Engine) के लिए बर्नौली संख्याओं की गणना का कलन-विधि (Algorithm) लिखकर वे विश्व की सर्वप्रथम कंप्यूटर प्रोग्रामर बनीं। उन्होंने यह भविष्यवाणी की थी कि कंप्यूटर भविष्य में संगीत और चित्रों की रचना भी कर सकेंगे।

2. ग्रेस मरे हॉपर (Grace Murray Hopper - 1906-1992)

अमेरिकी नौसेना की रियर एडमिरल ग्रेस हॉपर ने 1952 में विश्व का प्रथम कंपाइलर (A-0) तैयार किया। उन्होंने COBOL भाषा के विकास का नेतृत्व किया तथा कंप्यूटर रिले स्विच से जीवित पतंगा (Moth) निकालकर 'Debugging' शब्द को विश्वप्रसिद्ध बनाया।

3. जॉन बैकस (John Backus - 1924-2007)

आईबीएम (IBM) की टीम का नेतृत्व करते हुए 1957 में विश्व की पहली सफल उच्च स्तरीय भाषा FORTRAN का निर्माण किया। उन्होंने साबित किया कि मानव-लिखित उच्च स्तरीय कोड को हाथ से लिखे गए मशीन कोड जितनी ही दक्षता से संकलित किया जा सकता है।

4. डेनिस रिची (Dennis Ritchie - 1941-2011)

बेल लैब्स (Bell Labs) में 1972 में C भाषा का सृजन किया तथा केन थॉम्पसन के साथ UNIX ऑपरेटिंग सिस्टम का निर्माण किया। आज के आधुनिक ऑपरेटिंग सिस्टम (Linux, Windows, Android, macOS) की अंतर्निहित नींव डेनिस रिची के कार्यों पर ही टिकी है।

प्रोग्रामिंग सिंटेक्स, स्टेटमेंट्स एवं भाषा अनुवादक नियम

मशीन निर्देश की द्वि-भागीय संरचना
मशीन निर्देश = [ऑपकोड / Opcode] + [ऑपरेंड / Operand]
सॉफ्टवेयर संकलन एवं लिंकिंग अनुक्रम
सोर्स कोड (.c) → कंपाइलर → ऑब्जेक्ट कोड (.obj) + सिस्टम लाइब्रेरीज़ → लिंकर → निष्पादन योग्य फ़ाइल (.exe)
घोषणात्मक 4GL क्वेरी प्रतिमान
SELECT [स्तंभ/Attributes] FROM [तालिका/Relation] WHERE [शर्तें/Conditions]

अवधारणात्मक हल उदाहरण एवं अनुप्रयोग (Solved Examples)

उदाहरण 1
निर्देशों के स्वरूप (Instruction Representation) एवं भाषा अनुवादक की आवश्यकता के आधार पर मशीन भाषा (1GL) और असेंबली भाषा (2GL) में स्पष्ट अंतर बताइए।
विस्तृत समाधान / उत्तर:
उदाहरण 2
उच्च स्तरीय भाषाएँ (Third Generation Languages - 3GL) निम्न स्तरीय भाषाओं से किस प्रकार श्रेष्ठ हैं? इनके किन्हीं तीन प्रमुख लाभों का सविस्तार वर्णन कीजिए।
विस्तृत समाधान / उत्तर:
उदाहरण 3
कंपाइलर (Compiler) और इंटरप्रेटर (Interpreter) दोनों ही उच्च स्तरीय भाषा को मशीन कोड में बदलते हैं। फिर भी इन दोनों की कार्यप्रणाली में क्या मौलिक अंतर है? किन्हीं तीन मुख्य बिंदुओं पर तुलना कीजिए।
विस्तृत समाधान / उत्तर:
उदाहरण 4
कंप्यूटर प्रोग्रामिंग में होने वाली त्रुटियों (Errors / Bugs) को किन तीन श्रेणियों में वर्गीकृत किया गया है? प्रत्येक प्रकार की त्रुटि की परिभाषा दीजिए और एक-एक स्पष्ट प्रोग्रामिंग उदाहरण प्रस्तुत कीजिए।
विस्तृत समाधान / उत्तर:
उदाहरण 5
प्रोग्राम लिखने से लेकर सीपीयू द्वारा निष्पादित होने तक के संपूर्ण सॉफ्टवेयर जीवन-चक्र की व्याख्या कीजिए। इसमें: (क) सोर्स कोड, (ख) ऑब्जेक्ट कोड, (ग) लिंकर, और (घ) लोडर की विशिष्ट भूमिका स्पष्ट कीजिए।
विस्तृत समाधान / उत्तर:
उदाहरण 6
कंप्यूटर भाषाओं के प्रथम पीढ़ी (1GL) से लेकर पंचम पीढ़ी (5GL) तक के विकास का कालक्रमानुसार विस्तृत विवरण दीजिए। प्रत्येक पीढ़ी की मुख्य विशेषताएं, लाभ, सीमाएं एवं उदाहरण स्पष्ट कीजिए।
विस्तृत समाधान / उत्तर:

सामान्य गलतियाँ एवं परीक्षक के जाल (Examiner Traps)

सामान्य भ्रम / गलत उत्तर

यह मानना कि कंपाइलर और इंटरप्रेटर दोनों एक ही कार्यपद्धति से काम करते हैं

सही वैज्ञानिक तथ्य

सामान्य भ्रम / गलत उत्तर

असेंबली भाषा को उच्च स्तरीय भाषा (High-Level Language) समझ लेना

सही वैज्ञानिक तथ्य

सामान्य भ्रम / गलत उत्तर

व्याकरणिक त्रुटि (Syntax Error) और तार्किक त्रुटि (Logical Error) में भ्रमित होना

सही वैज्ञानिक तथ्य

सामान्य भ्रम / गलत उत्तर

यह सोचना कि आधुनिक सुपरफास्ट कंप्यूटर मानवीय प्राकृतिक भाषाओं को सीधे समझ सकते हैं

सही वैज्ञानिक तथ्य

सामान्य भ्रम / गलत उत्तर

चतुर्थ पीढ़ी की भाषाओं (4GL) के कार्य सिद्धांत को न समझना

सही वैज्ञानिक तथ्य

सामान्य भ्रम / गलत उत्तर

निष्पादन योग्य सॉफ्टवेयर निर्माण में लिंकर (Linker) की भूमिका को भूल जाना

सही वैज्ञानिक तथ्य

अध्याय का सार संक्षेप एवं 10 मुख्य निष्कर्ष

मुख्य बिंदु 1
अध्याय 1: कंप्यूटर भाषा का परिचय बिहार विद्यालय परीक्षा समिति (BSEB) कक्षा 8 कंप्यूटर विज्ञान पाठ्यक्रम के अनुसार प्रोग्रामिंग भाषाओं के ऐतिहासिक उद्भव, तकनीकी वर्गीकरण, अनुवाद तंत्र और निष्पादन जीवन-चक्र का एक अत्यंत प्रामाणिक एवं विस्तृत अध्ययन प्रस्तुत करता है। अध्याय इस मूल वैज्ञानिक तथ्य की व्याख्या से प्रारंभ होता है कि सिलिकॉन ट्रांजिस्टरों से निर्मित कंप्यूटर का सीपीयू केवल दो विद्युत अवस्थाओं—उच्च वोल्टेज (1) और शून्य वोल्टेज (0)—को पहचानता है, जिसके कारण वह मानव की प्राकृतिक भाषाओं को सीधे समझने में असमर्थ है। अध्याय भाषाओं के पाँच पीढ़ियों के क्रमिक विकास को रेखांकित करता है: प्रथम पीढ़ी की मशीन भाषा (1GL) जो सीधे बाइनरी ऑपकोड और ऑपरेंड में लिखी जाती थी और बिना अनुवादक के सर्वोच्च गति से चलती थी; द्वितीय पीढ़ी की असेंबली भाषा (2GL) जिसने बाइनरी के स्थान पर मानव-सुलभ निमोनिक्स (ADD, SUB, MOV) का सूत्रपात किया और जिसके लिए असेंबलर का आविष्कार हुआ; तृतीय पीढ़ी की उच्च स्तरीय प्रक्रियात्मक भाषाएँ (3GL) जिन्होंने अंग्रेजी जैसी शब्दावली और मशीन-स्वतंत्रता प्रदान की—जिसके ऐतिहासिक स्तंभ FORTRAN (वैज्ञानिक), COBOL (व्यापारिक), BASIC (शैक्षणिक) और C (ऑपरेटिंग सिस्टम्स) हैं; चतुर्थ पीढ़ी की गैर-प्रक्रियात्मक भाषाएँ (4GL) जिन्होंने घोषणात्मक डेटाबेस दृष्टिकोण (SQL) द्वारा विकास को तीव्र किया; तथा पंचम पीढ़ी की भाषाएँ (5GL) जो कृत्रिम बुद्धिमत्ता और लॉजिक प्रोग्रामिंग (PROLOG, LISP) पर आधारित हैं। इसके अतिरिक्त, अध्याय भाषा अनुवादकों का गहन विश्लेषण प्रस्तुत करते हुए कंपाइलर (समग्र अनुवाद, स्थायी .exe निर्माण, समेकित त्रुटि सूची, तीव्र गति) और इंटरप्रेटर (पंक्ति-दर-पंक्ति अनुवाद, तात्कालिक त्रुटि विराम, कोई .exe नहीं, धीमी गति) के बीच स्पष्ट तकनीकी भेद स्थापित करता है। विद्यार्थी सोर्स कोड, ऑब्जेक्ट कोड, लिंकर और लोडर की चार-चरणीय निष्पादन पाइपलाइन को समझते हैं, त्रुटियों के त्रिविध स्वरूप (सिंटैक्स, लॉजिकल, एवं रन-टाइम त्रुटियाँ) का निदान सीखते हैं, तथा लेडी एडा लवलेस, ग्रेस हॉपर, जॉन बैकस और डेनिस रिची के महान ऐतिहासिक योगदानों से परिचित होते हैं।

स्व-मूल्यांकन अभ्यास (Check Your Understanding)

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

1
कंप्यूटर भाषाओं की किस पीढ़ी में प्रतीकात्मक संक्षिप्त शब्दों जैसे 'निमोनिक्स' (ADD, SUB, MOV) का उपयोग प्रारंभ हुआ?
उत्तर एवं व्याख्या देखें
उत्तर: द्वितीय पीढ़ी की भाषा (2GL)
2
कंपाइलर (Compiler) और इंटरप्रेटर (Interpreter) के मध्य प्राथमिक तकनीकी अंतर क्या है?
उत्तर एवं व्याख्या देखें
उत्तर: कंपाइलर पूरे प्रोग्राम का एक साथ अनुवाद करके स्थायी .exe फ़ाइल बनाता है, जबकि इंटरप्रेटर पंक्ति-दर-पंक्ति अनुवाद व निष्पादन करता है
3
कंपाइलर द्वारा निर्मित ऑब्जेक्ट कोड (.obj) को सिस्टम रन-टाइम लाइब्रेरीज़ से जोड़कर अंतिम निष्पादन योग्य फ़ाइल (.exe) बनाने वाला सॉफ्टवेयर कौन सा है?
उत्तर एवं व्याख्या देखें
उत्तर: लिंकर (Linker)
4
यदि कोई प्रोग्राम बिना किसी व्याकरणिक त्रुटि के सफलतापूर्वक चलता है, परंतु गणितीय परिणाम गलत देता है, तो यह किस प्रकार की त्रुटि है?
उत्तर एवं व्याख्या देखें
उत्तर: तार्किक त्रुटि (Logical Error)
5
1972 में बेल लैब्स (Bell Labs) में डेनिस रिची द्वारा किस विश्वप्रसिद्ध भाषा का निर्माण किया गया जिसने UNIX ऑपरेटिंग सिस्टम की नींव रखी?
उत्तर एवं व्याख्या देखें
उत्तर: C भाषा (C Language)
6
चार्ल्स बैबेज के विश्लेषणात्मक इंजन हेतु विश्व का प्रथम कंप्यूटर एल्गोरिदम लिखने वाली 'विश्व की प्रथम कंप्यूटर प्रोग्रामर' कौन हैं?
उत्तर एवं व्याख्या देखें
उत्तर: लेडी एडा लवलेस
अध्याय का अध्ययन पूर्ण हुआ?
अभ्यास के लिए तैयार?

ऑनलाइन CBT टेस्ट देकर तैयारी का मूल्यांकन करें

BSEB परीक्षा पैटर्न पर आधारित बहुविकल्पीय प्रश्नों का ऑनलाइन टेस्ट दें। तुरंत परिणाम, समय विश्लेषण और प्रत्येक प्रश्न का विस्तृत हल प्राप्त करें।

STAY UPDATED

Get the Latest Updates

New test series, syllabus updates, exam notifications and more.

Syllabus
Updates
Exam
Alerts
Study
Resources