कंप्यूटर हमारी आम बोलचाल की भाषाओँ में या संकेतों में लिखे गए प्रोग्रामो को नहीं समझ सकता। इसलिए कंप्यूटर के लिए प्रोग्राम लिखने के लिए विशेष भाषा का उपयोग किया जाता है। प्रोग्रामिंग भाषाएं (Programming Languages) हमें कंप्यूटर के साथ इस तरह से संवाद करने की अनुमति देती हैं कि कंप्यूटर समझ सके।
प्रोग्रामिंग भाषाओं को सीखकर, आप सॉफ्टवेयर और वेब एप्लिकेशन बना सकते हैं और इनके माध्यम से कंप्यूटर को निर्देश दे सकते हैं। इस लेख में, हम यह जानेंगे कि प्रोग्रामिंग भाषाएं क्या हैं और वे कैसे काम करते हैं।
Table of contents
परिचय: प्रोग्रामिंग भाषाएं क्या हैं?
कंप्यूटर के लिए प्रोग्राम विशेष भाषाओँ में लिखे जाते है, इन भाषाओँ को ही प्रोग्रामिंग भाषा (Programming Language) कहा जाता है। प्रोग्रामिंग भाषाओँ का अपना अलग अलग व्याकरण होता है और उनमें प्रोग्राम लिखते समय उनके नियमों, निर्देशों और वाक्यविन्यास (syntax) और व्याकरण का पालन करना आवश्यक है ताकि कंप्यूटर द्वारा निष्पादित (executed ) किया जा सके है। अर्थात प्रोग्रामिंग भाषाएं ऐसी भाषाएं हैं जिनका उपयोग सॉफ्टवेयर अनुप्रयोगों और प्रणालियों को लिखने के लिए किया जाता है।
दूसरे शब्दों में प्रोग्रामिंग भाषाएं कंप्यूटर भाषाएं हैं जिनका उपयोग निर्देश सेट (instruction sets) लिखने के लिए किया जाता है जो कंप्यूटर को बताते हैं कि उसे विशिष्ट कार्य को कैसे करना है। प्रत्येक भाषा के अपने वाक्यविन्यास (syntax) और व्याकरण नियम होते हैं, जिससे डेवलपर्स को उच्च-स्तरीय तर्क और फ़ंक्शन कॉल (high-level logic and function calls ) व्यवस्थित तरीके से बनाने की अनुमति मिलती है।
आजकल ऐसी सैकड़ों Programming Language प्रचलन में है। ये भाषाएँ कंप्यूटर और प्रोग्रामर के बीच संपर्क या संवाद बनाती है। कंप्यूटर इनके माध्यम से दिए गए निर्देशों को समझकर उनके अनुसार कार्य करता है। कंप्यूटर द्वारा कराये जाने वाले अलग अलग तरह के कार्यों के लिए अलग अलग प्रकार की प्रोग्रामिंग भाषाओँ का विकास किया गया है।
आप जानते ही होंगे की कंप्यूटर के लिए जो निर्देश लिखे जाते है, उसे प्रोग्राम कहा जाता है तथा प्रोग्राम लिखने की क्रिया को प्रोग्रामिंग और उन्हें लिखने वाले व्यक्ति को प्रोग्रामर कहा जाता है कंप्यूटर के लिए प्रोग्राम लिखना एक कौशल है। यदि आप इसमें दक्ष है , तो कंप्यूटर द्वारा कठिन से कठिन कार्य आसानी से छुटकियो में करा सकते है।
प्रोग्रामिंग भाषाओं के प्रकार
कई अलग-अलग प्रकार की प्रोग्रामिंग भाषाएं हैं, जिनकी संख्या सैकड़ो में है। और सबकी अपनी अपनी विशेषताएं और कमजोरियां हैं। प्रत्येक विशेष प्रकार के प्रोग्रामिंग कार्य में इस्तेमाल के लिए केंद्रित होते है जैसे – वेब ऐप्स और गेम के लिए जावास्क्रिप्ट, मोबाइल ऐप्स के लिए C# और जावा, डेटा साइंस और आर्टिफिशियल इंटेलिजेंस-आधारित अनुप्रयोगों के लिए पायथन और डेटाबेस प्रबंधन के लिए SQL शामिल हैं।
प्रोग्रामिंग भाषाओं को दो मुख्य प्रकारो में बांटा गया है : –
- Low Level Languages (निम्न स्तरीय भाषाएँ)
- High Level Languages (उच्च स्तरीय भाषाएँ)
Low Level और High Level Languages में अंतर जाननें के लिए लेख जरूर पढ़ें। तो आइये इन भाषाओँ के बारे में विस्तार से जानें।
निम्न स्तरीय भाषाएँ (Low Level Languages)
निम्न-स्तरीय प्रोग्रामिंग भाषाएं ऐसी कंप्यूटर प्रोग्रामिंग भाषाएं हैं जो कंप्यूटर के हार्डवेयर घटकों (components), मेमोरी और प्रोसेसर तक सीधी पहुंच प्रदान करती हैं अर्थात इन्हे कंप्यूटर की आन्तरिक कार्यप्रणाली के अनुसार बनाई गई हैं।
इनमें प्रोग्रामिंग लिखने वाले व्यक्ति को कंप्यूटर की आन्तरिक कार्यप्रणाली का ज्ञान होना आवश्यक है। ऐसी भाषाओँ में लिखे गए प्रोग्रामों का पालन (Execution) करने की गति बहुत होती है, क्योकि कंप्यूटर उसके निर्देशों का सीधे ही पालन कर सकता है।
ये हार्डवेयर पर अधिक नियंत्रण प्रदान करते हैं, लेकिन उच्च-स्तरीय प्रोग्रामिंग भाषाओं की तुलना में कम यूजर फ्रेंड्ली और पढ़ने और लिखने के लिए कठिन होते हैं।
इनको निम्न स्तरीय भाषा इसलिए कहा जाता है क्योकि इनमें प्रोग्राम लिखना पूरी तरह उस कंप्यूटर पर निर्भर करता है जिसके लिए प्रोग्राम लिखा जा रहा है। दूसरे शब्दों में , निम्न स्तरीय प्रोग्रामिंग भाषाएँ पूर्णतः कम्प्यूटरों पर आधारित होती है। इसलिए इस प्रकार के कम्प्यूटरों के लिए लिखा गया कोई भी प्रोग्राम प्रायः दूसर प्रकार के कम्प्यूटरों पर नहीं चलाया जा सकता।
Low Level Languages के प्रकार
निम्न स्तरीय भाषाओं को दो भागों में बांटा गया है।
- Machine Languages (मशीनी भाषाएँ)
- Assembly Languages (असेम्बली भाषाएँ)
Machine Languages (मशीनी भाषाएँ)
कंप्यूटर एक जड़ मशीन है। वह केवल विद्युत् संकेतों को ही समझता है। विद्युत् संकेतों को ऑफ (off) या 0 तथा ऑन (On) या 1 से प्रदर्शित किया जाता है। इन्हे बाइनरी अंक कहा जाता है।
कंप्यूटर केवल बाइनरी अंकों 0 और 1 के माध्यम से दिए गए निर्देशों को ही समझ सकता है। प्रारम्भ में कम्प्यूटरों के लिए प्रोग्राम लिखने के लिए मशीनी भाषाओँ का ही प्रयोग किया जाता था। इसके लिए कंप्यूटर की कार्यप्रणाली का ज्ञान होना आवश्यक है।
मशीनी भाषाओँ का प्रयोग केवल प्रथम पीढ़ी के कम्प्यूटरों के साथ किया जाता था। परन्तु मशीनी भाषाओं में प्रोग्राम लिखना हमारे लिए एक कठिन कार्य है, क्योकि इसमें प्रत्येक निर्देश 0 और एक की शृंखला के रूप में होता है। जैसे :
010010001110011001100101001
पहले तो ऐसे निर्देशों को लिखना ही कठिन है, क्योकि एक भी अंक गलत हो जाने से पूरा निर्देश गलत हो जाएगा। दूसरे, इनमें गलतियों का पता लगाना और उनको ठीक करना लगभग असंभव होता है। इसलिए हम प्रोग्राम किसी सरल भाषा में लिखते है और बाद में उसका अनुवाद कंप्यूटर की मशीनी भाषा में करा लेते है।
Assembly Languages (असेम्बली भाषाएँ)
असेंबली भाषाएँ ऐसी प्रोग्रामिंग भाषाएँ होती है, जो पूरी तरह मशीनी भाषाओँ पर आधारित होती है , परन्तु इनमें 0 और 1 की श्रृंखलाओं के स्थान पर अंग्रेजी के अक्षरों और कुछ गिने चुने शब्दों को कोड के रूप में प्रयोग किया जाता है। इन कोड्स को शाब्दिक कोड (mnemoic code) कहा जाता है। उदहारण के लिए STR यह किसी संख्या को स्टोर करने के निर्देश के लिए शाब्दिक कोड है।
असेंबली भाषाओँ में प्रोग्राम लिखना मशीनी भाषाओँ को तुलना में कही सरल होता है , क्यों बाइनरी अंको से बनी संख्याओं की तुलना में शाब्दिक कोड को याद रखना बहुत सरल है। इसमें गलतिया भी काम होती है और गलती हो जाने पर उसका पता लगाना और प्रोग्राम को ठीक करना भी सरल होता है।
फिर भी असेंबली भाषा लिखने के लिए कंप्यूटर की आंतरिक कार्यप्रणाली का ज्ञान होना आवश्यक है। परन्तु कंप्यूटर केवल अपनी मशीनी भाषा के प्रोग्रामो की ही समझ सकता है, इसलिए असेंबली भाषा में लिखे गए प्रोग्रामों का अनुवाद कंप्यूटर की मशीनी भाषा में करा लिए जाता है। यह अनुवाद भी एक अन्य प्रोग्राम द्वारा किया जाता है, जिसे असेम्बलर प्रोग्राम (Assembler Program) कहा जाता है।
मशीन भाषा की प्रमुख कमियां
असेंबली भाषाओँ में प्रोग्राम लिखना अधिक सुविधाजनक होता है , फिर भी इसमें निम्नलिखित कमियां अनुभव की जाती है:
- इन भाषाओँ में लिखे गए प्रोग्राम बहुत लम्बे होते है और अधिक समय लगता है।
- इन प्रोग्रामों को समझना कठिन होता है इसलिए इनमें गलतियों को खोजना भी कठिन होता है।
- असेंबली भाषाएँ भी पूर्णतः कंप्यूटर पर आधारित है इसलिए एक प्रकार के कंप्यूटर के लिए लिखा गया प्रोग्राम दूसरे प्रकार के कंप्यूटर पर नहीं चलाया जा सकता। अतः प्रत्येक प्रकार के कंप्यूटर के लिए हमें अलग प्रोग्राम लिखना पड़ता है।
- इनमे भी प्रोग्राम लिखने के लिए कंप्यूटर की आंतरिक कार्यप्रणाली का ज्ञान होना आवश्यक है।
उच्च स्तरीय भाषाएँ (High Level Languages)
आप ऊपर पढ़ चुके है की निम्न स्तरीय भाषाओँ (मशीनी भाषाओँ और असेंबली भाषाओँ) में प्रोग्राम लिखने के लिए कंप्यूटर की आंतरिक कार्यप्रणाली का ज्ञान होना आवश्यक है। दूसरा प्रत्येक कंप्यूटर की अपनी अलग मशीनी भाषा और असेंबली भाषा होती है, इसलिए एक तरह के कंप्यूटर के लिए इन भाषाओँ में लिखा गया प्रोग्राम दूसरी तरह के कम्प्यूटरों के लिए बेकार हो जाता है।
अतः ऐसी प्रोग्रामिंग भाषाओँ का विकास किया गया , जो कंप्यूटर की आंतरिक कार्यप्रणाली पर आधारित न हो और जिनमें लिखे गए प्रोग्रामो को किसी भी प्रकार के कंप्यूटर पर चलना संभव हो। इन भाषाओँ के उच्च स्तरीय भाषा कहा जाता है।
उच्च स्तरीय प्रोग्रामिंग भाषाओँ में अंग्रेजी के कुछ चुने हुए शब्दों और साधारण गणित में प्रयोग किये जाने वाले चिन्हों का प्रयोग किया जाता है। इन भाषाओँ में प्रोग्राम लिखना, उनमें गलतियों का पता लगाना और उनको सुधारना , निम्न स्तरीय भाषाओँ की तुलना में बहुत सरल होता है इसलिए उपयोगकर्ताओं के लिए प्रायः सभी प्रोग्राम उच्च स्तरीय प्रोग्रामिंग भाषाओँ में लिखे जाते है।
उच्च स्तरीय प्रोग्रामिंग भाषाओँ में लिखे गए प्रोग्राम का भी कंप्यूटर की मशीनी भाषा में अनुवाद कराना पड़ता है। यह अनुवाद कार्य कम्पाइलर (Compiler) या इन्टरप्रिटर (Interpreter) प्रोग्रामों द्वारा किया जाता है ,जो कंप्यूटर के सिस्टम सॉफ्टवेयर के भाग होते है।
इन दोनों प्रोग्रामो में अंतर यह है की कम्पाइलर एक बार में ही पुरे प्रोग्राम का अनुवाद मशीनी भाषा में कर देता है और मशीनी भाषा के प्रोग्राम की एक नै फाइल बना देता है , जिसे कभी भी कंप्यूटर कर चलाया जा सकता है। इसके विपरीत इन्टरप्रिटर एक बार में केवल एक कथन या निर्देश का अनुवाद मशीनी भाषा में करता है और उसका पालन हो जाने के बाद ही अगले कथन का अनुवाद करता है।
उच्च स्तरीय भाषाओँ को उनकी प्रकृति के अनुसार दो भागों में बांटा गया है।
- विधि अभिमुखी भाषाएँ (Procedural Oriented Languages)
- समस्या अभिमुखी भाषाएँ (Problem Oriented Languages)
विधि अभिमुखी भाषाएँ (Procedural Oriented Languages)
ये ऐसी उच्च स्तरीय प्रोग्रामिंग भाषाएँ है , जिनमे किसी कार्य को करने की पूरी विधि (Procedure) लिखी जाती है। दूसरे शब्दों में , इन भाषाओँ में ऐसे प्रोग्राम लिखे जाते है जिनमें किसी कार्य की करने के सभी चरणों को विस्तार से बताया जाता है की उस कार्य को करने के लिए या किसी समस्या को हल करने के लिए कौन कौन सी क्रियाएं किस क्रम में की जाएंगी। ऐसे प्रोग्राम प्रायः किसी अल्गोरिथम (Algorithm) पर आधारित होते है।
इन प्रोग्रामिंग भाषाओँ को तीसरी पीढ़ी की प्रोग्रामिंग भाषाएँ (त्तhird generation of programming languages) भी कहा जाता है। कुछ विधि अभिमुखी भाषाओँ के नाम है – बेसिक, फोरट्रान, पास्कल, C Language, फॉक्सप्रो आदि।
समस्या अभिमुखी भाषाएँ (Problem Oriented Languages)
ये ऐसी उच्च स्तरीय प्रोग्रामिंग भाषाएँ है , जिनमे किसी कार्य को करने की पूरी विधि नहीं दी जाती , बल्कि केवल यह बताया जाता है की हमें क्या आउटपुट चाहिए। दूसरे शब्दों में , इन भाषाओँ में ऐसे प्रोग्राम लिखे जाते है , जो किसी कार्य को करने की विधि बताये बिना किसी विशेष आउटपुट या परिणाम को निकलते है।
ऐसे प्रोग्रामिंग भाषाओँ को चौथी पीढ़ी प्रोग्रामिंग भाषाएँ (Fourth generation of programming languages) भी कहा जाता है। इन भाषाओँ में किसी समस्या को हल करने के लिए पहले से ही विधियां (Procedure) होती है, जिनका आवश्यकता के अनुसार उपयोग कर लिए जाता है। कुछ समस्या अभिमुखी भाषाओँ के नाम है – विसुअल बेसिक, विसुअल सी, ओरेकल, SQL आदि।
आमतौर पर इस्तेमाल की जाने वाली प्रोग्रामिंग भाषाएं
कई प्रकार की प्रोग्रामिंग भाषाएं हैं जिनका उपयोग डिजिटल समाधान बनाने के लिए किया जा सकता है। वर्तमान में सबसे अधिक इस्तेमाल की जाने वाली उपयोग की जाने वाली दो भाषाएं JavaScript और Python हैं।
जावास्क्रिप्ट मुख्य रूप से वेब डेवलपमेंट के लिए उपयोग किया जाता है, जबकि पायथन सभी तरह के उद्देश्य के लिए उपयोग किया जा सकता है जैसे ऐप, वेबसाइट या जटिल सिस्टम बनाने के लिए किया जाता है। दूसरे लोकप्रिय भाषाओं में Java, C++, PHP, and Ruby on Rails आदि शामिल हैं।
प्रोग्रामिंग भाषा जानने के लाभ।
प्रोग्रामिंग भाषा सीखना आज के दौर में आपके लिए अत्यधिक फायदेमंद हो सकता है क्योंकि यह आपको कई समस्याओं को हल करने और डिजिटल समाधान विकसित करने की क्षमता देता है। यह आपको कार्यों को स्वचालित करने और उपकरण बनाने की अनुमति देता है जो आपके जीवन को आसान बना सकते हैं या नए उत्पाद और सुविधाएं बना सकते हैं।
प्रोग्रामिंग भाषाएँ जानने से प्रौद्योगिकी के क्षेत्र में आपके ज्ञान में भी ज्ञान में वृद्धि हो सकती है, जिससे आप उद्योगों की एक विस्तृत श्रृंखला में अधिक रोजगार योग्य हो जाते हैं। इसके अतिरिक्त, यह आपके विश्लेषणात्मक कौशल को तेज करने में बहुत मदद करता है, जो न केवल कोडिंग करते समय बल्कि जीवन के दूसरे क्षेत्रों में भी काम आता है।
FAQ
कंप्यूटर के लिए जो निर्देश प्रोग्रामिंग भाषाओँ में लिखे जाते है, उसे प्रोग्राम कहा जाता है तथा प्रोग्राम बनाने या लिखने की प्रक्रिया को प्रोग्रामिंग कहते है।
कंप्यूटर के लिए प्रोग्राम लिखने वाले व्यक्ति को प्रोग्रामर कहा जाता है।
निष्कर्ष
प्रोग्रामिंग भाषाएं सॉफ्टवेयर अनुप्रयोगों और प्रणालियों के विकास में महत्वपूर्ण भूमिका निभाती हैं। ये नियमों, निर्देशों और syntax का एक सेट प्रदान करते हैं जो कोड लिखना, बनाए रखना और वितरित करना आसान बनाते हैं। चाहे आप एक शुरुआती या अनुभवी प्रोग्रामर हों, प्रोग्रामिंग भाषा चुनना महत्वपूर्ण होता है जो आपकी प्रोग्राम की आवश्यकताओं के लिए सबसे उपयुक्त हो।