Wednesday, 16 January 2019

Scripting Language क्या है? स्क्रिप्टिंग और प्रोग्रामिंग में क्या अंतर है?



Scripting language kya hai?

आप PHP के बारे में तो जानते ही होंगे।

क्या आपको पता है की PHP एक scripting language है?

हो सकता है आपको पता हो, अगर आप इन्टरनेट पर PHP का definition देखें तो उसमे लिखा होता है की यह एक स्क्रिप्टिंग लैंग्वेज है।

लेकिन कई बार लोगों को यह नही पता होता की scripting language क्या है?

फिर लोग इस बात को लेकर भी confuse रहते हैं की आखिर scripting और programing language में क्या अंतर है?

लेकिन यदि आप प्रोग्रामर, वेब डेवलपर या वेब डिज़ाइनर बनना चाहते हैं तो आपको इसके बारे में जानकारी जरुर होनी चाहिए, और इसके लिए आपको यह आर्टिकल जरुर पढना चाहिए।

स्क्रिप्टिंग क्या है? Script एक प्रकार का प्रोग्राम होता है जिसमे कई सारे प्रोग्रामिंग instructions यानि codes लिखे होते हैं जो की runtime पर interpret होते हैं।

Runtime पर interpret होने का मतलब यह है की जब कोई application running में हो या चल रहा हो तब कोड को read करके execute किया जाता है।

इसे आसानी से समझने के लिए हम फेसबुक का उदाहरण लेते हैं, आप जब किसी पोस्ट को लाइक करते हैं तब क्या होता है? क्या like बटन पर क्लिक करने से पेज refresh होता है?

नही, पेज रिफ्रेश नही होता, लेकिन फिर भी हमारा काम हो जाता है। ऐसा क्यों?

क्योंकि वहां पर runtime में एक स्क्रिप्ट execute होता है और वह बिना किसी रूकावट के हमारा काम कर देता है।

ऐसे स्क्रिप्ट को बनाने के लिए scripting language का उपयोग किया जाता है जो की एक प्रकार का प्रोग्रामिंग लैंग्वेज है।

Scripting language की एक खासियत यह है की यह किसी अन्य language के साथ communicate कर सकती है।

इन scripts को HTML जैसे लैंग्वेज के साथ embed किया जा सकता है यानि HTML document में आप scripting के codes भी लिख सकते हैं।

Webpage में कई प्रकार के events perform होते हैं जैसे button click, key press करना, किसी element जैसे image, paragraph, heading आदि पर mouse hover करना। इन events का response क्या होगा यह हम scripting के जरिये define कर सकते हैं।

इसके जरिये आप अपनी वेब पेज पर कुछ extra features जैसे drop-down menu, image slider, animation effects आदि भी जोड़ सकते हैं।

Scripting का उपयोग सिर्फ वेबपेज में ही नही बल्कि operating systems में भी होता है। जहाँ यह किसी task को automate करने के लिए use किया जाता है।

स्क्रिप्टिंग और प्रोग्रामिंग में क्या अंतर है? लगभग सारे स्क्रिप्टिंग लैंग्वेज प्रोग्रामिंग लैंग्वेज होते हैं।

अब आपके दिमाग में यह सवाल जरुर आ रहा होगा की आखिर scripting language और programming language में क्या difference है?

तो चलिए नीचे टेबल के माध्यम से जानते हैं की आखिर इनके बीच क्या अंतर है।

Programming language Scripting language
प्रोग्रामिंग में कोड execute होने से पहले compile होता है। स्क्रिप्टिंग में कोड compile करने की जरुरत नही है। यह runtime में interpret होता है।
किसी अन्य लैंग्वेज के साथ इसे embed करने की जरुरत नही है। ज्यादातर इसे HTML जैसे लैंग्वेज के साथ embed किया जाता है।
एक बार compile होने के बाद प्रोग्राम के source code को नही देखा जा सकता। वेब ब्राउज़र पर हम स्क्रिप्ट के source code को देख सकते हैं।
compile होने पर यह binary file बनाता है जिसके लिए अतिरिक्त memory की जरुरत पड़ती है। इससे किसी प्रकार की बाइनरी फाइल नही बनती और न ही यह अतिरिक्त स्पेस लेता है।
इसके कोड complex होते हैं। पूरे प्रोग्राम के लिए कई सारे codes लिखने पड़ते हैं। इसमें कुछ लाइन के कोड से ही काम हो जाता है।
Complexity के कारण इसे सीखने में समय लगता है।यह बहुत आसान होता इसलिए सीखने में समय नही लगता।
C, C++, Java आदि प्रोग्रामिंग लैंग्वेज के कुछ उदाहरण हैं। PHP, ASP, JSP, Python, JavaScript आदि स्क्रिप्टिंग लैंग्वेज के examples हैं।

Client-side scripting क्या है?

Client-side scripting in Hindi

क्लाइंट-साइड स्क्रिप्टिंग के जरिये ऐसे स्क्रिप्ट तैयार किये जाते हैं जो की क्लाइंट यानि यूजर के सिस्टम (वेब ब्राउज़र) में रन होते हैं।

इस प्रकार के अधिकतर scripts HTML documents के अंदर लिखे जाते हैं। इनका काम वेब पेज को interactive बनाना होता है।

आपने कभी न कभी किसी वेबसाइट पर फॉर्म जरुर भरा होगा, आपने देखा होगा की जब हम फॉर्म के किसी फील्ड को blank छोड़ देते हैं और submit बटन पर क्लिक करते हैं तो सबमिट होने से पहले ही एक error दिखाई देता है जो बताता है की हमने एक field को खाली छोड़ दिया है। इस प्रोसेस को form validation कहा जाता है।

Form validation में यूजर द्वारा डाले गये inputs को validate किया जाता है। इस तरह के काम को JavaScript के द्वारा किया जाता है जो की एक प्रकार का client-side scripting है।

एक बार स्क्रिप्ट लोड हो जाने के बाद इसे सर्वर से interect करने की जरुरत नही पड़ती।

Client-side scripting में उपयोग होने वाले languages के उदाहरण हैं:
Client-side scripting के फायदे भी हैं जैसे:
  • यह तुरंत execute होता है क्योंकि सर्वर पर नही बल्कि यूजर के ब्राउज़र पर रन होता है।
  • सर्वर लोड को कम करता है जिससे वेबसाइट की स्पीड बढ़ जाती है।
  • वेब पेज को और अधिक इंटरैक्टिव बनाता है।
इन सबके अलावा client-side scripting के कुछ disadvantages भी हैं जैसे:
  • यह secure नही होता क्योंकि इसके कोड को कोई भी देख सकता है।
  • अलग-अलग ब्राउज़र script को अलग-अलग तरीके से सपोर्ट करते हैं।
  • अगर यूजर का ब्राउज़र पुराना है तो यह ठीक तरीके से काम नही करेगा।
Server-side scripting क्या है?
server-side scripting in Hindi

सर्वर-साइड स्क्रिप्टिंग एक ऐसा तरीका है जिसके जरिये हम किसी प्रोग्राम को सर्वर में चला सकते हैं। दुसरे शब्दों में कहें तो ऐसे scripts जो की वेब सर्वर में execute होते हैं, सर्वर साइड स्क्रिप्ट कहलाते हैं।

ये scripts server में स्टोर रहते हैं और तब execute होते हैं जब client की ओर से किसी task को perform करने के लिए request भेजा जाता है।

उदहारण के लिए जब आप फेसबुक पर login करने के लिए username और password enter करके login button पर click करते हैं तो आपके द्वारा डाला गया यूजरनेम और पासवर्ड सर्वर को भेजा जाता है जहाँ कोई server side script होता है वह डेटाबेस access करके यह verify करता है की आपने सही data enter किया है या नही।

गलत जानकारी होने पर यह script आपके browser को एक error message वाला web page send कर देता है। वहीँ login successful होने पर आप Facebook के home page पर चले जाते हैं।

यहाँ सबसे important बात यह है की ये program या script server पर ही execute होते हैं और execution के बाद जो भी output होता है उसे HTML page के रूप में client को भेज दिया जाता है।

आपने समाचार या मौसम की जानकारी देने वाले website या web application जरुर देखे होंगे जिनपर लगातार changes होते रहते हैं, और ऐसा सर्वर-साइड स्क्रिप्टिंग की मदद से ही सम्भव हो पाता है।

Server-side script बनाने के लिए कई प्रकार के programming languages उपयोग होते हैं जिनमे से कुछ common languages इस प्रकार हैं:
  • PHP
  • Java
  • Server-side JavaScript
  • Python
  • Perl
  • Ruby
अब चलिए बात करते हैं server-side scripting के advantages के बारे में:
  • इससे हम database driven website या web application बना सकते हैं।
  • इसके द्वारा dynamic content और pages बनाये जा सकते हैं।
  • इसके code server पर ही होते हैं और client को नही दिखाई देते इसलिए यह secure होता है।
  • Website admin स्क्रिप्टिंग से बने CMS (Content Management System) के जरिये अपनी वेबसाइट को बार-बार coding किये बिना आसानी से manage कर सकता है।
  • यह browser dependent नही होता इसलिए browser version की चिंता नही रहती।
  • Social media, e-commerce, यहाँ तक की railway ticket, airline reservation जैसे बड़े-बड़े complex websites सर्वर-साइड स्क्रिप्ट की वजह से ही काम कर पाते हैं।
इन benefits के अलावा server-side scripting के disavantages भी हैं जैसे:
  • यह तभी काम कर सकता है जब हम सर्वर पर scripting software install करते हैं।
  • किसी dynamic website को बनाने के लिए database जरुरी होता है।
  • यदि hosting server की speed कम है तो इसकी execution speed कम हो जाती है।
  • यदि website बहुत बड़ी हो या उस पर traffic अधिक हो तो हमें powerful और बेहतर होस्टिंग की जरुरत पड़ती है।
  • सही तरह से कोडिंग नही करने या गलतियाँ करने से वेबसाइट के हैक होने का खतरा बना रहता है।

क्लाइंट-साइड और सर्वर-साइड स्क्रिप्टिंग में क्या अंतर है?
Client-Side Scripting  Server-Side Scripting
यह front-end technology है।  यह back-end technology है।
यह यूजर के browser पर run होता है। यह web server पर run होता है।
इसके source code को user देख सकता है। इसके code client तक नही पहुँचते इसलिए इसे यूजर नही देख सकता।
क्लाइंट-साइड स्क्रिप्ट web server पर stored डेटाबेस से connect नही हो सकता। इसके द्वारा server पर उपलब्ध database को access किया जा सकता है।
Server के file system से किसी फाइल को यह access नही कर पाता। सर्वर पर उबलब्ध फाइल सिस्टम को यह access कर सकता है।
सर्वर-साइड की तुलना में क्लाइंट-साइड स्क्रिप्टिंग का response fast होता है। क्लाइंट-साइड की तुलना में सर्वर-साइड स्क्रिप्टिंग का response slow होता है।।
Client-side scripting को यूजर द्वारा ब्राउज़र की setting से block किया जा सकता है जिससे यह यूजर के ब्राउज़र पर run नही होगा। इस प्रकार के स्क्रिप्ट को यूजर block नही कर सकता।

Scripting Language का क्या उपयोग है? अलग-अलग तरीके से कई सारे जगहों पर इसका उपयोग किया जाता है जैसे:

  • Website और web applications में क्लाइंट-साइड और सर्वर-साइड स्क्रिप्टिंग, Javascript, jQuery, PHP, ASP आदि का उपयोग किया जाता है।
  • System-administration में भी इसका उपयोग होता है जहाँ Perl, Python, Shell scripts आदि use किया जाता है।
  • किसी software के लिए plugins या extensions बनाने के लिए भी उपयोग होता है।
  • विडियो गेम्स बनाने के लिए भी उपयोग होता है।

आगे पढ़ें
उम्मीद है आपको scripting के बारे में यह जानकारी पसंद आई होगी। आप अपना सवाल या सुझाव नीचे कमेंट के माध्यम से हम जरुर पहुंचाएं।

नमस्कार, मैं विवेक, WebInHindi का founder हूँ। इस ब्लॉग से आप वेब डिजाईन, वेब डेवलपमेंट से जुड़े जानकारियां और tutorials प्राप्त कर सकते हैं। अगर आपको हमारा यह ब्लॉग पसंद आये तो आप हमें social media पर follow कर हमारा सहयोग कर सकते हैं|

इस Post से सम्बंधित किसी भी तरह का प्रश्न पूछने या सुझाव देने के लिए नीचे comment कीजिये.
EmoticonEmoticon

और पढ़ें: