आधारभूत संकल्पना: डिजिटल इलेक्ट्रॉनिक वास्तविकता एवं कंप्यूटर भाषा की आवश्यकता
मानव समाज में हम अपने विचारों, भावनाओं और निर्देशों का आदान-प्रदान हिंदी, अंग्रेजी, मैथिली, भोजपुरी या उर्दू जैसी प्राकृतिक भाषाओं (Natural Languages) के माध्यम से करते हैं। परंतु कंप्यूटर कोई हाड़-मांस का सजीव प्राणी नहीं है; यह अरबों सूक्ष्म अर्धचालक ट्रांजिस्टरों (Semiconductor Transistors) से निर्मित एक अत्यंत परिष्कृत डिजिटल इलेक्ट्रॉनिक उपकरण है। कंप्यूटर से किसी भी प्रकार की गणना कराने, डेटा प्रबंधित करने अथवा समस्या हल कराने के लिए हमें उसकी इलेक्ट्रॉनिक प्रकृति के अनुकूल माध्यम में संवाद करना पड़ता है, जिसे कंप्यूटर भाषा (Computer Language / Programming Language) कहा जाता है।
1. प्रोग्रामिंग शब्दावली की आधारशिला
- निर्देश (Instruction): कंप्यूटर को किसी विशिष्ट कार्य (जैसे दो संख्याओं को जोड़ना, मेमोरी में मान सुरक्षित करना, या स्क्रीन पर टेक्स्ट प्रदर्शित करना) को पूरा करने के लिए दिया जाने वाला एकल आदेश निर्देश कहलाता है।
- प्रोग्राम (Program): कंप्यूटर भाषा में लिखे गए तार्किक और क्रमबद्ध निर्देशों का वह समूह जो कंप्यूटर को चरण-दर-चरण किसी संपूर्ण समस्या को हल करने या किसी कार्य को निष्पादित करने के लिए निर्देशित करता है, प्रोग्राम कहलाता है।
- प्रोग्रामर (Programmer): वह तकनीकी विशेषज्ञ या सॉफ्टवेयर इंजीनियर जो प्रोग्रामिंग भाषाओं के व्याकरण और नियमों का उपयोग करके कंप्यूटर प्रोग्रामों की रूपरेखा तैयार करता है, कोड लिखता है, उसका परीक्षण करता है और त्रुटियों को सुधारता है।
- प्रोग्रामिंग या कोडिंग (Programming / Coding): किसी कंप्यूटर भाषा के नियमों के अनुसार सोर्स कोड की रचना करने, उसे लिखने, संकलित करने और त्रुटिरहित बनाने की बौद्धिक व तकनीकी प्रक्रिया को प्रोग्रामिंग कहते हैं।
- सिंटैक्स एवं सेमेंटिक्स (Syntax and Semantics): सिंटैक्स (Syntax) किसी प्रोग्रामिंग भाषा के औपचारिक व्याकरणिक नियमों, विराम चिह्नों और संरचनात्मक प्रारूप को कहते हैं। सेमेंटिक्स (Semantics) उन सिंटैक्स कथनों के वास्तविक तार्किक अर्थ और उनके द्वारा कंप्यूटर में होने वाले प्रभाव को व्यक्त करता है।
2. कंप्यूटर सीधे मानवीय भाषाओं को क्यों नहीं समझ सकता?
कक्षा 8 के विद्यार्थियों के मन में यह स्वाभाविक प्रश्न उठता है कि हम कंप्यूटर को साधारण हिंदी या अंग्रेजी में सीधे निर्देश क्यों नहीं दे सकते, जैसे: "कंप्यूटर, कक्षा 8 के सभी छात्रों के प्राप्तांकों का औसत निकालो और प्रथम दस छात्रों की सूची दिखाओ"। इसके दो अकाट्य वैज्ञानिक कारण हैं:
- इलेक्ट्रॉनिक हार्डवेयर की द्वि-आधारी प्रकृति (Digital Binary Logic): कंप्यूटर का सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) सिलिकॉन चिप पर बने लॉजिक गेट्स और ट्रांजिस्टरों से मिलकर बना होता है। विद्युत परिपथ में केवल दो ही भौतिक स्थितियाँ संभव हैं: उच्च वोल्टेज / करंट चालू (High Voltage / Current Flowing = अवस्था 1) अथवा निम्न वोल्टेज / करंट बंद (Low Voltage / Zero Current = अवस्था 0)। इस द्वि-आधारी (Bi-stable) इलेक्ट्रॉनिक प्रकृति के कारण कंप्यूटर का हार्डवेयर केवल बाइनरी संकेतों—
0और1—को ही सीधे समझ और संसाधित कर सकता है। - प्राकृतिक भाषाओं की अस्पष्टता और बहुअर्थी स्वभाव (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) है।