क्या आप जानते है प्रोग्रामिंग लैंग्वेज का महत्व क्या है?

दरअसल आज हम जितने भी एप्प , सॉफ्टवेर , वेवसाइट का इस्तेमाल करते है कही न कही वह सव किसी प्रोग्रामिंग लैंग्वेज की सहायता से वनाये गए है और इसके साथ ही , जितनी भी इलेक्ट्रॉनिक मशीन या डिवाइस होते है उन मशीन या डिवाइस से काम करवाने के लिए, जो कमांड (स्क्रीन पर टच करके या key press करके) हमारे द्वारा दी जाती है , वह भी किसी प्रोग्रामिंग लैंग्वेज की सहायता से ही दी जाती है जिससे उस मशीन के हार्डवेयर को कंट्रोल किया जाता है और उस मशीन या डिवाइस से काम करवाया जाता है इसलिए  How work Programming Language in Computer जेसे टॉपिक को समझना हमारे लिए जरुरी है| 

How work Programming Language in Computer

How work Programming Language in Computer

1. किसी भी प्रोग्रामिंग लैंग्वेज को सिखने से पहले हमे कंप्यूटर के बारे मे कुछ बातें पता होना चाहिए!

जेसे कंप्यूटर शब्द कंप्यूट से लिया गया है कंप्यूट शब्द का हिंदी अर्थ "गणना करना" होता है प्रोग्रामिंग, डिजिटल कंप्यूटर मे की जाती है डिजिटल कंप्यूटर बाइनरी (Binary) डाटा या Bit (Binary digit) को कंप्यूट करके रिजल्ट देता है Bi मतलव दो(2) digit यानी (0,1) , कंप्यूटर मे जो CPU (Central Processing Unit) नामक एलिमेंट होता है वह प्रोसेस करने के लिए (0,1) के रूप मे ही डाटा को स्वीकार करता है |

2. कंप्यूटर, डेटा को कैसे प्रोसेस करता है!

जो व्यक्ति कंप्यूटर से interact करता है उसे User (यूजर) कहा जाता है , यूजर इनपुट डिवाइस (जेसे: माउस , कीबोर्ड ) के माध्यम से डाटा को कंप्यूटर मे फीड करता है वह इनपुट (डाटा) कंप्यूटर के CPU नामक एलिमेंट मे जाकर कंप्यूट (प्रोसेस) करके ,user द्वारा दिए गए इनपुट के आउटपुट या परिणाम (रिजल्ट) को आउटपुट डिवाइस (जेसे: मॉनिटर) के माध्यम से यूजर को दिखाता है जो इनपुट, यूजर द्वारा दिया जाता है| वह टेक्स्ट, नंबर, इमेज, ऑडियो, विडियो आदि (Text, Number, Audio, Video etc.) के फॉर्मेट मे होता है जिसे इनपुट (Input) कहा जाता है इसी इनपुट को ट्रांसलेटर द्वारा बाइनरी (Binary) लैंग्वेज मे कन्वर्ट करके प्रोसेस करने के लिए CPU भेजा जाता है इनपुट को CPU द्वारा कंप्यूट (प्रोसेस) करने के बाद जो परिणाम (रिजल्ट) हमे आउटपुट डिवाइस जेसे: मॉनिटर मे देखने को मिलता है वह ट्रांसलेटर द्वारा (0,1) बाइनरी लैंग्वेज से बापिस टेक्स्ट, नंबर, इमेज, ऑडियो, विडियो आदि (Text, Number, Audio, Video etc.) फॉर्मेट मे बदलकर यूजर को प्रदान किया जाता है अत: जब यूजर से इनपुट (Input) लिया जाता है तो उसे डाटा (Data) कहा जाता है, और जो CPU कंप्यूट (प्रोसेस) करके आउटपुट देता है उसे इनफार्मेशन (Information) कहा जाता है |

3. RAM क्या करता है ?

RAM(Random Access Memory) एक ऐसा हार्डवेयर है जो इनपुट डिवाइस द्वारा या परमानेंट स्टोरेज (जेसे: HDD , SSD) से दिए गए डाटा या फाइल की copy को स्टोर करता है और RAM मे copy हुए डाटा को CPU प्रोसेस  करता है| प्रोसेस हो जाने के बाद जो परिणाम आता है वह RAM मे चला जाता है फिर RAM द्वारा परिणाम मॉनिटर (आउटपुट डिवाइस) मे show हो जाता है RAM मे डाटा या फाइल की copy व परिणाम टेम्पररी बेसिस मतलव (जब तक RAM यूजर द्वारा दिए गए डाटा की copy करके उस copy को CPU को देने तक और CPU द्वारा दिए गए रिजल्ट (परिणाम) को मॉनिटर पर दिखाने तक ही, डाटा को अपनी मेमोरी मे रखता है) , प्रोसेस खत्म हो जाने पर RAM मे से डाटा हट या (Delete हो) जाता है | 

4. प्रोग्रामिंग लैंग्वेज सीखने की आवश्यकता क्यों है?

आपने कभी ना कभी सॉफ्टवेयर (Software) का इस्तेमाल किया होगा या फिर आज के दोर मे मोबाइल फ़ोन का इस्तेमाल आम वात है हम जो मोबाइल फ़ोन का इस्तेमाल करते है उसमे हम कही एप्प इंस्टोल और उन्हें इस्तेमाल करके अपने काम को आसान बनाते है और किसी मशीन के हार्डवेयर को चलाने या कंट्रोल करने मे भी सॉफ्टवेयर की जरुरत होती है इन्ही सॉफ्टवेयर को प्रोग्रामिंग लैंग्वेज से बनाया जाता है |

5.  प्रोग्रामिंग लैंग्वेज का उपयोग करके सॉफ्टवेयर किस तरह वनाये जाते है?

सॉफ्टवेयर मतलव निर्देश का एक समूह (Set of Instruction) होता है जिन निर्देश (Instruction) को एक प्रोग्रामिंग लैंग्वेज द्वारा कंप्यूटर को इनपुट के रूप मे दिया जाता है जिससे कंप्यूटर उस इनपुट को समझकर विशिष्ट कार्य (specific task) को करता है विशिष्ट कार्य (specific task) जेसे: स्कूल अटेंडेंस लेने का सॉफ्टवेयर बना देना | सॉफ्टवेयर बनाने के लिए आपको एक प्रोग्रामिंग लैंग्वेज सीखना होगा जेसे: C, C++, Java, Python, JavaScript, PHP, Kotlin, Swift  etc. यह प्रोग्रामिंग लैंग्वेज, बाइनरी (0,1) रूप  मे नही होती | इसलिए CPU, प्रोग्रामिंग लैंग्वेज मे दिए गए निर्देश को समझने मे सक्षम न होने के कारण इस प्रोग्रामिंग लैंग्वेज को  ट्रांसलेटर द्वारा पहले बाइनरी लैंग्वेज मे कन्वर्ट किया जाता है | बाइनरी लैंग्वेज मे कन्वर्ट हुए प्रोग्राम को CPU प्रोसेस करके परिणाम के रूप मे कोई विशिष्ट कार्य (specific task) करता है| हर प्रोग्रामिंग लैंग्वेज का ट्रांसलेटर अलग होता है| 
 

6. सरल शब्दों में प्रोग्रामिंग लैंग्वेज क्या है?

कंप्यूटर बाइनरी लैंग्वेज (0,1) को समझने मे सक्षम होता है जिसे कंप्यूटर लैंग्वेज या मशीन लैंग्वेज भी कहा जाता है परन्तु इस लैंग्वेज को समझना हमारे लिए काफी जटिल होता है इसी कारण से हम प्रोग्रामिंग लैंग्वेज का इस्तेमाल करके सॉफ्टवेयर को बनाते है क्योकि प्रोग्रामिंग लैंग्वेज को समझना हमारे लिए काफी आसान हो जाता है प्रोग्रामिंग लैंग्वेज मे 0 और 1 के अलावा टेक्स्ट, नंबर , सिंबल (Text, Number, Symbol) भी रहते है जबकि कंप्यूटर लैंग्वेज या मशीन लैंग्वेज मे 0 और 1 मात्र ही होते है किसी भी प्रोग्रामिंग लैंग्वेज मे निर्देश का समूह (set of Instruction) होते है जिनके इस्तेमाल से प्रोग्राम या सॉफ्टवेयर को बनाया जाता है इसी प्रोग्राम को लिखने की प्रक्रिया को प्रोग्रामिंग (Programming) कहा जाता है और जो व्यक्ति इस प्रोग्राम को लिखता है वह सॉफ्टवेयर डेवलपर (Software Developer) कहलाता है|
   

7. प्रोग्रामिंग लैंग्वेज के प्रकार 

प्रोग्रामिंग लैंग्वेज तीन प्रकार की होती है 
1. Low Level Language  2. High Level Language 3. Middle Level Language.
मुख्यत: दो प्रोग्रामिंग लैंग्वेज ही होती है जो Low Level और High Level लैंग्वेज है | Middle Level मे Low Level और High Level दोनों प्रोग्रामिंग लैंग्वेज की विशेषताए होती है |

1. Low Level Language : इस लैंग्वेज मे हार्डवेयर को कंट्रोल (नियंत्रण) करने और संचालन (ऑपरेट) करने की विशेषता होती है इसी विशेषता के कारण इस लैंग्वेज को हार्डवेयर अनुकूल (hardware friendly) कहा जाता है इसमें कुछ कमांड और फंक्शन (Function) ऐसे होते है जो CPU से सीधे संवाद (direct interact) करते है इन कमांड और फंक्शन के कारण हम किसी भी हार्डवेयर जेसे: प्रिंटर मे Low Level Language का इस्तेमाल करते है| Low Level Language से वने सॉफ्टवेयर हार्डवेयर स्पेसिफिक (Hardware Specific) होते है यह सॉफ्टवेयर उसी हार्डवेयर मे सपोर्ट करता है जिस हार्डवेयर को चलाने व नियंत्रण करने के लिए इस सॉफ्टवेयर को बनाया गया है | किसी अन्य हार्डवेयर का नियंत्रण करने मे असक्षम होने के कारण यह लैंग्वेज Non-portable या Machine depended होती है | यह लैंग्वेज हार्डवेयर से direct interact करने के कारण वहुत तेज़ (quickly) और कम मेमोरी (Memory) का इस्तेमाल करती है जिस ट्रांसलेटर द्वारा Low Level Language (असेंबली लैंग्वेज) को Binary Language मे कन्वर्ट (वदला) जाता है उस ट्रांसलेटर को असेम्बलर (Assembler) कहते है |

2. High Level Language : यह लैंग्वेज प्रोग्रामर के लिए सॉफ्टवेयर बनाने की प्रक्रिया को बड़ा आसान और सुविधाजनक बनाती है और इसमें हार्डवेयर को कंट्रोल और रन करने की विशेषता बहुत कम या न के बराबर होने से यह लैंग्वेज मशीन डिपेंडेंट नही होती | मशीन डिपेंडेंट न होने के कारण इसकी पोर्टेबल होने की विशेषता या पोर्टेबिलिटी बढ़ जाती है और यह लैंग्वेज रन होने मे  Low Level Language की तुलना मे ज्यादा समय और मेमोरी लेती है इस लैंग्वेज मे अल्फाबेट, नंबर, सिंबल के इस्तेमाल होने के कारण , इसे समझना किसी भी प्रोग्रामर के लिए आसान हो जाता है इसलिए इस लैंग्वेज को प्रोग्रामर फ्रेंडली (Programmer Friendly) भी कहा जाता है पुरे प्रोग्राम के रन हो जाने के बाद भी यदि फ्री मेमोरी बचती है तो यह लैंग्वेज उसे अपने आप (automate) रिलीज़ कर देती है इस लैंग्वेज को भी बाइनरी लैंग्वेज मे बदलने के लिए कम्पाइलर (Compiler) या इंटरप्रेटर (Interpreter) नामक ट्रांसलेटर का इस्तेमाल किया जाता है | 

8. लैंग्वेज ट्रांसलेटर क्या होता है और यह कितने प्रकार के होते है?

लैंग्वेज ट्रांसलेटर जिसे प्रोग्रामिंग लैंग्वेज प्रोसेसर भी कहा जाता है यह प्रोग्रामिंग लैंग्वेज को बाइनरी लैंग्वेज मे बदलने वाला एक सॉफ्टवेयर होता है | जिसकी मदद से कंप्यूटर हमारे द्वारा लिखी गई high लेवल या low लेवल लैंग्वेज (source code) के निर्देश ( Set Of Instruction ) को मशीन लैंग्वेज मे समझ कर उन निर्देश ( Set Of Instruction ) को लागू करता है| लैंग्वेज ट्रांसलेटर तीन प्रकार के होते है | असेम्बलर (Assembler), कम्पाइलर (Compiler) और इंटरप्रेटर (Interpreter) जिसमे से असेम्बलर low लेवल लैंग्वेज को अथवा कम्पाइलर और इंटरप्रेटर high लेवल लैंग्वेज को बाइनरी लैंग्वेज मे कन्वर्ट करने वाले ट्रांसलेटर होते है | 

1. असेम्बलर (Assembler) : असेम्बलर एक सॉफ्टवेयर (प्रोग्राम) है जो असेंबली लैंग्वेज (Low Level प्रोग्रामिंग लैंग्वेज या मशीन डिपेंडेंट लैंग्वेज) को मशीन कोड (बाइनरी लैंग्वेज) मे ट्रांसलेट (कन्वर्ट) करने का काम करता है जिससे कंप्यूटर उस प्रोग्राम को समझकर कार्य कर सके |

2. कम्पाइलर (Compiler) : कम्पाइलर भी एक सॉफ्टवेयर है जो high लेवल लैंग्वेज मे लिखे गए कोड को डायरेक्ट (Direct) बाइनरी लैंग्वेज (मशीन कोड) मे या फिर असेंबली लैंग्वेज (low लेवल कोड ) मे ट्रांसलेट (कन्वर्ट) करके फिर आगे जाकर इसी असेंबली लैंग्वेज को बाइनरी लैंग्वेज मे ट्रांसलेट करता है कम्पाइलर हमारे द्वारा लिखे गए प्रोग्राम की लाइन को एक-एक करके रीड (Read) करता है उन लाइन मे एरर (Error) होने का पता लगाता है एरर न मिलने पर पुरे प्रोग्राम के कोड को एक साथ ट्रांसलेट (कन्वर्ट) करता है |  

3. इंटरप्रेटर (Interpreter) : इंटरप्रेटर कम्पाइलर से भिन्न एक ऐसा कंप्यूटर प्रोग्राम है जो high लेवल लैंग्वेज मे बने एक - एक करके प्रोग्राम की लाइन को लेगा रीड (Read) करेगा, एरर (Error) के होने का पता लगायेगा एरर न होने पर , कोड को बाइनरी लैंग्वेज मे ट्रांसलेट करके रन (Run) करने के बाद, प्रोग्राम की अगली लाइन पर जाकर यही प्रोसेस को दोहरायेगा | इंटरप्रेटर ट्रांसलेट करने के साथ प्रोग्राम को रन करने के कारण कम्पाइलर की तुलना मे स्लो (Slow) होता है |

ध्यान दे : C और C ++ (CPP) लैंग्वेज मे कम्पाइलर काम मे लिया जाता है जबकि इंटरप्रेटर को Python (पाइथन) लैंग्वेज मे काम लिया जाता है और Java (जावा) लैंग्वेज मे कम्पाइलर और इंटरप्रेटर दोनों ही काम मे लिए जाते है |