Android Rust के बारे में जानकारी

Android प्लैटफ़ॉर्म, Rust में नेटिव ओएस कॉम्पोनेंट डेवलप करने की सुविधा देता है. यह एक आधुनिक सिस्टम-प्रोग्रामिंग भाषा है, जो C/C++ के बराबर परफ़ॉर्मेंस के साथ, मेमोरी की सुरक्षा की गारंटी देती है. Rust, कंपाइल के समय की जांचों के कॉम्बिनेशन का इस्तेमाल करती है, जो ऑब्जेक्ट के लाइफ़टाइम और मालिकाना हक को लागू करती हैं. साथ ही, रनटाइम की जांचों से यह पक्का किया जाता है कि मेमोरी का सही तरीके से ऐक्सेस किया जा रहा है. इससे, गै़रबेज कलेक्टर की ज़रूरत नहीं पड़ती.

Rust में, नई भाषा की कई सुविधाएं उपलब्ध हैं. इनकी मदद से, डेवलपर अपने कोड को ज़्यादा बेहतर तरीके से लिख सकते हैं और उस पर भरोसा कर सकते हैं:

  • सुरक्षित कॉन्करंट प्रोग्रामिंग - इसकी मदद से, उपयोगकर्ता आसानी से बेहतर और थ्रेड-सेफ़ कोड लिख सकते हैं. इस वजह से, Rust का स्लोगन फ़ियरलेस कॉन्करेंसी है.
  • ज़्यादा जानकारी देने वाला टाइप सिस्टम - Rust, ज़्यादा जानकारी देने वाले टाइप (जैसे, Newtype रैपर और कॉन्टेंट वाले enum वैरिएंट) की अनुमति देकर, लॉजिकल प्रोग्रामिंग बग को रोकने में मदद करता है.
  • कंपाइल करने के समय ज़्यादा जांच - कंपाइल करने के समय ज़्यादा गड़बड़ियां मिलने पर, डेवलपर को भरोसा होता है कि कोड सही तरीके से काम करेगा.
  • पहले से मौजूद टेस्टिंग फ़्रेमवर्क - Rust पहले से मौजूद टेस्टिंग फ़्रेमवर्क उपलब्ध कराता है जहां यूनिट टेस्ट को लागू करने की प्रोसेस के साथ रखा जा सकता है. इससे, यूनिट टेस्टिंग को शामिल करना ज़्यादा आसान होता है.
  • एनफ़ोर्समेंट से जुड़ी गड़बड़ी को ठीक करना - जिन फ़ंक्शन में गड़बड़ियां ठीक की जा सकती हैं वे नतीजे का टाइप दिखा सकते हैं. यह टाइप, सफलता वाला वैरिएंट या गड़बड़ी वाला वैरिएंट हो सकता है. द कंपाइलर यह ज़रूरी है कि कॉल करने वाले लोग, Result ईनम के गड़बड़ी वाले वैरिएंट की जांच करें और उसे हैंडल करें फ़ंक्शन कॉल से वापस मिला. इससे, गड़बड़ियों को मैनेज न किए जाने की वजह से होने वाली गड़बड़ियों की संभावना कम हो जाती है.
  • शुरू करना - Rust में, हर वैरिएबल को इस्तेमाल करने से पहले, उसके टाइप के किसी कानूनी सदस्य के तौर पर शुरू करना ज़रूरी है. इससे, गलती से किसी असुरक्षित वैल्यू के तौर पर शुरू होने से रोका जा सकता है.
  • इंटीजर को ज़्यादा सुरक्षित तरीके से मैनेज करना - पूर्णांक टाइप के सभी कन्वर्ज़न, एक्सप्लिसिट कास्ट होते हैं. को असाइन करते समय डेवलपर, फ़ंक्शन कॉल के दौरान गलती से कास्ट नहीं कर सकते कोई वैरिएबल या अन्य टाइप के साथ अंकगणित का इस्तेमाल करने की कोशिश करते समय. ओवरफ़्लो Rust के लिए Android में जांच डिफ़ॉल्ट रूप से चालू रहती है, जिसके लिए ओवरफ़्लो होना ज़रूरी है कार्रवाइयों के बारे में साफ़ तौर पर बताएं.

ज़्यादा जानकारी के लिए, Android Rust के लिए सहायता से जुड़ी ब्लॉग पोस्ट की सीरीज़ देखें: