हमारी यह Scala पोस्ट आपको स्कैला की basic और advanced अवधारणाएँ प्रदान करता है. Scala एक वस्तु-उन्मुख और कार्यात्मक प्रोग्रामिंग भाषा है,Scala एक सामान्य प्रयोजन की प्रोग्रामिंग भाषा है. यह वस्तु उन्मुख, कार्यात्मक और अनिवार्य प्रोग्रामिंग दृष्टिकोण का समर्थन करता है. यह एक मजबूत स्थिर प्रकार की भाषा है, Scala में, सब कुछ एक वस्तु है चाहे वह एक फ़ंक्शन या संख्या हो, इसमें आदिम डेटा की अवधारणा नहीं है।
इसे मार्टिन ओडस्की ने डिजाइन किया था. यह आधिकारिक तौर पर जावा प्लेटफॉर्म के लिए 2004 की शुरुआत में और जून 2004 में .नेट फ्रेमवर्क के लिए जारी किया गया था, बाद में, Scala ने 2012 में .Net समर्थन छोड़ दिया, Scala जावा, हास्केल, लिस्प, पिज्जा आदि से प्रभावित है और एफ #, फैंटम, रेड आदि से प्रभावित है. Scala स्रोत फ़ाइल का फ़ाइल एक्सटेंशन .scala या .sc हो सकता है. आप किसी भी तरह का एप्लीकेशन बना सकते हैं जैसे वेब एप्लीकेशन, एंटरप्राइज एप्लीकेशन, मोबाइल एप्लीकेशन, डेस्कटॉप आधारित एप्लीकेशन आदि।
What is Scala in Hindi
Scala एक रोबस्ट और हाई-कैलिबर प्रोग्रामिंग भाषा जिसने बड़े डेटा की दुनिया को बदल दिया. Scala सबसे तेजी से मौजूदा प्रोग्रामिंग भाषाओं की गति को पार करने में सक्षम है, Scala एक संकलक आधारित और एक बहु-प्रतिमान प्रोग्रामिंग भाषा है जो कॉम्पैक्ट, तेज और कुशल है. Scala का प्रमुख लाभ जेवीएम (जावा वर्चुअल मशीन) है. Scala कोड को पहले एक Scala कंपाइलर द्वारा संकलित किया जाता है और उसी के लिए बाइट कोड जनरेट किया जाता है, जिसे तब आउटपुट उत्पन्न करने के लिए Java Virtual Machine पर स्थानांतरित किया जाएगा।
Scala उस डेटा के साथ काम करने में सक्षम है जो एक वितरित फैशन में संग्रहीत है. यह सभी उपलब्ध संसाधनों तक पहुँचता है और समानांतर डेटा प्रोसेसिंग का समर्थन करता है. Scala अपरिवर्तनीय डेटा का समर्थन करता है और इसके पास उच्च आदेश कार्यों का समर्थन है. Scala जावा का एक उन्नत संस्करण है जिसे अनावश्यक कोड को खत्म करने के लिए डिज़ाइन किया गया था. यह कई पुस्तकालयों और एपीआई का समर्थन करता है जो प्रोग्रामर को कम डाउन टाइम हासिल करने की अनुमति देगा. Scala कई प्रकार के निर्माणों का समर्थन करता है जो प्रोग्रामर को रैपर / कंटेनर प्रकारों के साथ आसानी से काम करने में सक्षम बनाता है।
अब चूंकि हम उन आवश्यकताओं को समझ चुके हैं जिनके लिए हमें Scala की आवश्यकता थी. आइये अब हम अन्य भाषाओं के बीच तुलना में आगे बढ़ें और पता लगाएं कि यह अन्य समान प्रोग्रामिंग भाषाओं पर बढ़त क्यों हासिल करता है।
Scala में, आप कम समय में किसी भी प्रकार का एप्लिकेशन बना सकते हैं और कोडिंग कर सकते हैं चाहे वह वेब आधारित हो, मोबाइल आधारित हो या डेस्कटॉप आधारित अनुप्रयोग, Scala आपको शक्तिशाली उपकरण और एपीआई प्रदान करता है जिसके उपयोग से आप एप्लिकेशन बना सकते हैं. यहां, आप प्ले फ्रेमवर्क का उपयोग कर सकते हैं जो तेजी से वेब एप्लिकेशन बनाने के लिए एक मंच प्रदान करता है।
Scala और अन्य भाषाएँ
नाम Scala scalability को चित्रित करता है जो भाषा की पेशकश करने में सक्षम है, अब आप एक सवाल उठा सकते हैं. पायथन, रूबी, पर्ल और लीजेंडरी जावा जैसी नवीनतम प्रोग्रामिंग भाषाएं स्केलेबल नहीं हैं?
इसका उत्तर हां है, वे स्केलेबल हैं, लेकिन कुछ प्रतिबंधों के साथ बॉयलर मढ़वाया कोड जैसे system.print.ln जावा में. इन सीमाओं को पार करने और कोड के निष्पादन समय और जटिलता को कम करने के लिए Scala का आविष्कार किया गया है।
वर्ष 2006 में ट्विटर को अमेरिका में पेश किया गया था और डेवलपर्स ने इस एप्लिकेशन को विकसित करने के लिए अपनी पसंद के हथियार के रूप में रेल पर रूबी का उपयोग किया था, जो बाद में एक गलत विकल्प साबित हुआ जब उन्हें विशाल राशि का प्रबंधन करना पड़ा, जो बिग-डेटा में गिर रहा था ट्विटर।
Features of Scala in Hindi
Scala की विशेषताएं क्या है आइये जानते है दोस्तों Scala की निम्नलिखित विशेषताएं हैं −
Type Inference
Scala में, आपको डेटा प्रकार और फ़ंक्शन रिटर्न प्रकार स्पष्ट रूप से उल्लेख करने की आवश्यकता नहीं है. Scala डेटा के प्रकार को कम करने के लिए पर्याप्त स्मार्ट है. फ़ंक्शन का रिटर्न प्रकार फ़ंक्शन में मौजूद अंतिम अभिव्यक्ति के प्रकार से निर्धारित होता है।
Singleton object
Scala में, कोई स्थिर चर या विधियाँ नहीं हैं, Scala सिंगलटन ऑब्जेक्ट का उपयोग करता है, जो मूल रूप से स्रोत फ़ाइल में केवल एक ऑब्जेक्ट के साथ वर्ग है. क्लास कीवर्ड के बजाय ऑब्जेक्ट का उपयोग करके सिंगलटन ऑब्जेक्ट घोषित किया जाता है।
Immutability
Scala अपरिवर्तनीय अवधारणा का उपयोग करता है. प्रत्येक घोषित चर डिफ़ॉल्ट रूप से अपरिवर्तनीय है, अपरिवर्तनीय का मतलब है कि आप इसके मूल्य को संशोधित नहीं कर सकते, आप परिवर्तनशील चर भी बना सकते हैं जिसे बदला जा सकता है. अपरिवर्तनीय डेटा समवर्ती नियंत्रण को प्रबंधित करने में मदद करता है जिसके लिए डेटा का प्रबंधन करना आवश्यक है।
Lazy Computation
Scala में, कम्प्यूटेशन डिफ़ॉल्ट रूप से lazy है, स्केला भावों का मूल्यांकन तभी करता है जब उनकी आवश्यकता होती है. आप lazy कीवर्ड का उपयोग करके एक lazy चर घोषित कर सकते हैं. इसका उपयोग प्रदर्शन बढ़ाने के लिए किया जाता है।
Concurrency control
Scala मानक पुस्तकालय प्रदान करता है जिसमें अभिनेता मॉडल भी शामिल है. आप अभिनेता का उपयोग करके संगामिति कोड लिख सकते हैं. Scala, अक्का के नाम से जानी जाने वाली संगति से निपटने के लिए एक और मंच और उपकरण प्रदान करता है. अक्का एक अलग खुला स्रोत ढांचा है जो अभिनेता-आधारित संगामिति प्रदान करता है. अक्का अभिनेताओं को सॉफ्टवेयर ट्रांसेक्शनल मेमोरी के साथ वितरित या संयोजित किया जा सकता है।
History of Scala in Hindi
Scala एक सामान्य प्रयोजन प्रोग्रामिंग भाषा है, इसे मार्टिन ओडस्की ने बनाया और विकसित किया था, मार्टिन ने 2001 में इकोले पॉलिटेक्निक फेडरेल डे लॉज़ेन (EPFL) में Scala पर काम करना शुरू किया, यह आधिकारिक तौर पर 20 जनवरी, 2004 को जारी किया गया था।
Scala जावा का विस्तार नहीं है, लेकिन यह इसके साथ पूरी तरह से अंतर है. संकलन करते समय, Scala फ़ाइल जावा बाइटकोड में अनुवाद करती है और जेवीएम (जावा वर्चुअल मशीन) पर चलती है. Scala को ऑब्जेक्ट-ओरिएंटेड और कार्यात्मक दोनों के रूप में डिजाइन किया गया था। यह इस अर्थ में एक शुद्ध वस्तु-उन्मुख भाषा है कि प्रत्येक मूल्य इस अर्थ में एक वस्तु और कार्यात्मक भाषा है कि प्रत्येक फ़ंक्शन एक मूल्य है. Scala का नाम शब्द स्केलेबल से लिया गया है, जिसका अर्थ है कि यह users की मांग के साथ बढ़ सकता है।
Scala की लोकप्रियता
ट्विटर ने घोषणा की है कि उसने रूबी से स्काला तक अपने बैकएंड के बड़े हिस्से को स्विच किया था और बाकी को बदलने का इरादा था।
ऐप्पल इंक जावा और प्ले फ्रेमवर्क के साथ कुछ टीमों में स्काला का उपयोग करता है।
न्यूयॉर्क टाइम्स ने 2014 में खुलासा किया कि इसकी आंतरिक सामग्री प्रबंधन प्रणाली ब्लैकबर्ड को स्काला, अक्का और प्ले फ्रेमवर्क का उपयोग करके बनाया गया है।
Google के भीतर ऐसी टीमें हैं जो Scala का उपयोग करती हैं, ज्यादातर अधिग्रहण के कारण जैसे Firebase और Nest।
वॉलमार्ट कनाडा अपने बैक एंड प्लेटफॉर्म के लिए स्काला का उपयोग करता है।