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

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

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

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

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