आर्किटेक्चर निर्णय नोंद: Rust प्रोग्रामिंग भाषा
निर्णय क्रमांक: AR-001
निर्णयाचे शीर्षक: Rust प्रोग्रामिंग भाषेचा अवलंब
तारीख: १ डिसेंबर, २०२१
स्थिती: स्वीकारले
समस्या विधान
आम्ही सॉफ्टवेअर अनुप्रयोग विकसित करत असताना, आमच्या लक्षात आले आहे की संभाव्य सुरक्षा असुरक्षा कमी करणे आणि रनटाइम त्रुटी टाळणे अधिकाधिक आव्हानात्मक होत आहे. C आणि C++ सारख्या विद्यमान प्रोग्रामिंग भाषांसह, आम्हाला बफर ओव्हरफ्लो, मेमरी लीक आणि अनिर्धारित वर्तन यांसारख्या समस्या सतत भेडसावत आहेत ज्यामुळे अनुप्रयोग क्रॅश होतात. आम्हाला अशी प्रोग्रामिंग भाषा हवी आहे जी मेमरी सुरक्षिततेची हमी देते आणि कामगिरी-गंभीर अनुप्रयोगांना आधार देण्याइतकी कार्यक्षम आहे.
विचार
विद्यमान समस्या सोडवण्यासाठी अनेक प्रोग्रामिंग भाषा डिझाइन केल्या आहेत. त्यापैकी, Rust प्रोग्रामिंग भाषेने तिच्या अनोख्या डिझाइन वैशिष्ट्यांमुळे विकासक समुदायाचे लक्षणीय लक्ष वेधून घेतले आहे. विचारांमध्ये समाविष्ट आहेत;
१. मेमरी सुरक्षितता आणि सुरक्षा
२. कामगिरी आणि कार्यक्षमता
३. समुदाय समर्थन आणि स्वीकार
४. शिकण्याचा कालावधी
५. साधने आणि परिसंस्था
६. विद्यमान सॉफ्टवेअर प्रणालींशी सुसंगतता.
मर्यादा
नवीन प्रोग्रामिंग भाषा स्वीकारण्यासाठी विकासकांना पुन्हा प्रशिक्षित करावे लागते, ज्यासाठी वेळ आणि संसाधने लागतात. भाषा विद्यमान विकास कार्यप्रवाहात एकत्रित करणे आव्हानात्मक असू शकते. आम्ही विद्यमान प्रणालींशी सुसंगतता सुनिश्चित केली पाहिजे आणि सातत्य राखण्यासाठी खंडित करणारे बदल टाळले पाहिजेत.
अंमलबजावणी
१. आमचा विकास संघ Rust प्रोग्रामिंग भाषा शिकण्यासाठी आणि तिच्याशी परिचित होण्यासाठी प्रशिक्षण घेईल.
२. आमच्या विकासाच्या उद्देशांसाठी तिची सुसंगतता आणि योग्यता तपासण्यासाठी आम्ही Rust वापरून चाचणी तत्त्वावर नवीन प्रकल्प तयार करू.
३. आम्ही C आणि C++ मध्ये लिहिलेल्या विद्यमान प्रणाली हळूहळू Rust मध्ये स्थलांतरित करू.
४. आमचा विकास कार्यप्रवाह सुधारू शकतील अशी उपलब्ध साधने आणि लायब्ररी शोधण्यासाठी आम्ही Rust समुदायाशी सहकार्य करू.
५. आम्ही Rust च्या कामगिरीवर लक्ष ठेवू आणि तिची विद्यमान प्रोग्रामिंग भाषांच्या कामगिरीशी नियमितपणे तुलना करू.
६. आम्ही प्रशिक्षण, एकत्रीकरण यांचा खर्च आणि Rust वापरण्याचे संभाव्य फायदे यांचा समतोल साधणारा दीर्घकालीन दृष्टिकोन अवलंबू.
तर्क
कामगिरी आणि कार्यक्षमता राखताना मेमरी सुरक्षितता आणि सुरक्षेची हमी देण्यासाठी डिझाइन केलेल्या तिच्या अनोख्या वैशिष्ट्यांमुळे आम्ही Rust स्वीकारली आहे. Rust ची मजबूत टाइप प्रणाली, बॉरो चेकर आणि मेमरी सुरक्षितता संकल्पना तिला कामगिरी-गंभीर आणि सुरक्षा-गंभीर अनुप्रयोग विकसित करण्यासाठी अत्यंत योग्य बनवतात. शिवाय, Rust चा विकासकांचा मोठा समुदाय आहे, ज्यामुळे आमच्या विकास कार्यप्रवाहाला आधार देणारी साधने, लायब्ररी आणि परिसंस्थेची विस्तृत श्रेणी आम्हाला उपलब्ध होते. जरी Rust साठी शिकण्याचा कालावधी असला तरी, आमचा विश्वास आहे की Rust स्वीकारण्याचे फायदे खर्चापेक्षा जास्त आहेत आणि सतत वाढ व नावीन्यासाठी उत्कृष्ट संधी देतात.
परिणाम
१. Rust स्वीकारण्यासाठी विकासकांना प्रशिक्षण देण्यात आणि भाषा विद्यमान विकास कार्यप्रवाहात एकत्रित करण्यात वेळ आणि संसाधनांची लक्षणीय गुंतवणूक करावी लागेल.
२. Rust स्वीकारल्याने विद्यमान प्रणालींशी काही प्रमाणात सुसंगततेच्या समस्या निर्माण होऊ शकतात, ज्यासाठी रिफॅक्टरिंग आणि बदल करावे लागतील.
३. Rust स्वीकारल्याने रोमांचक प्रकल्पांवर काम करू इच्छिणाऱ्या Rust विकासकांना आकर्षित करून आमच्या प्रकल्पात योगदान देऊ शकणाऱ्या विकासकांची संख्या वाढू शकते.
४. हा अवलंब विद्यमान भाषांच्या तुलनेत सुधारित कामगिरी, कार्यक्षमता आणि सुरक्षिततेकडे नेऊ शकतो.
५. शेवटी, Rust स्वीकारल्याने आमच्या अनुप्रयोगांमधील सुरक्षा असुरक्षा कमी होण्याचा संभाव्य फायदा मिळतो.