ఆర్కిటెక్చర్ నిర్ణయ రికార్డు: Rust ప్రోగ్రామింగ్ భాష
నిర్ణయ సంఖ్య: AR-001
నిర్ణయ శీర్షిక: Rust ప్రోగ్రామింగ్ భాష స్వీకరణ
తేదీ: డిసెంబర్ 1, 2021
స్థితి: అంగీకరించబడింది
సమస్య ప్రకటన
సాఫ్ట్వేర్ అప్లికేషన్లను అభివృద్ధి చేస్తున్న కొద్దీ, సంభావ్య భద్రతా బలహీనతలను తగ్గించడం, రన్టైమ్ లోపాలను నివారించడం ఎక్కువగా సవాలుగా మారిందని మేము గమనించాం. C, C++ వంటి ప్రస్తుత ప్రోగ్రామింగ్ భాషలతో, బఫర్ ఓవర్ఫ్లోలు, మెమరీ లీక్లు, అప్లికేషన్లు క్రాష్ అవ్వడానికి దారితీసే నిర్వచించని ప్రవర్తన వంటి సమస్యలను మేము ఎదుర్కొంటూనే ఉన్నాం. మెమరీ భద్రత హామీలను అందించే, పనితీరు కీలకమైన అప్లికేషన్లకు మద్దతిచ్చేంత సమర్థవంతమైన ప్రోగ్రామింగ్ భాష మాకు అవసరం.
పరిగణనలు
ప్రస్తుత సమస్యలను పరిష్కరించడానికి అనేక ప్రోగ్రామింగ్ భాషలు రూపొందించబడ్డాయి. వాటిలో, Rust ప్రోగ్రామింగ్ భాష దాని ప్రత్యేక డిజైన్ ఫీచర్ల కారణంగా డెవలపర్ల సముదాయం నుండి గణనీయమైన దృష్టిని పొందింది. పరిగణనలలో ఇవి ఉన్నాయి;
మెమరీ భద్రత, రక్షణ
పనితీరు, సామర్థ్యం
సముదాయ మద్దతు, స్వీకరణ
నేర్చుకునే వక్రరేఖ
సాధనాలు, పర్యావరణ వ్యవస్థ
ప్రస్తుత సాఫ్ట్వేర్ వ్యవస్థలతో అనుకూలత.
పరిమితులు
కొత్త ప్రోగ్రామింగ్ భాషను స్వీకరించడానికి డెవలపర్లకు తిరిగి శిక్షణ ఇవ్వాలి, దీనికి సమయం, వనరులు పడతాయి. భాషను ప్రస్తుత అభివృద్ధి వర్క్ఫ్లోలో ఇంటిగ్రేట్ చేయడం సవాలు కావచ్చు. కొనసాగింపును కాపాడటానికి ప్రస్తుత వ్యవస్థలతో అనుకూలతను నిర్ధారించుకోవాలి, విచ్ఛిన్నకర మార్పులను నివారించాలి.
అమలు
మా అభివృద్ధి బృందం Rust ప్రోగ్రామింగ్ భాషను నేర్చుకోవడానికి, దానితో పరిచయం పెంచుకోవడానికి శిక్షణ పొందుతుంది.
మా అభివృద్ధి ప్రయోజనాలకు దాని అనుకూలతను, తగినతనాన్ని మూల్యాంకనం చేయడానికి మేము ట్రయల్ ప్రాతిపదికన Rustను వాడి ఒక కొత్త ప్రాజెక్ట్ సృష్టిస్తాం.
C, C++లో రాసిన ప్రస్తుత వ్యవస్థలను క్రమంగా Rustకు వలస చేస్తాం.
మా అభివృద్ధి వర్క్ఫ్లోను మెరుగుపరచగల అందుబాటులో ఉన్న సాధనాలు, లైబ్రరీలను అన్వేషించడానికి Rust సముదాయంతో సహకరిస్తాం.
Rust పనితీరును పర్యవేక్షించి, క్రమం తప్పకుండా ప్రస్తుత ప్రోగ్రామింగ్ భాషల పనితీరుతో పోలుస్తాం.
శిక్షణ, ఇంటిగ్రేషన్ ఖర్చులను, Rust వాడటం వల్ల కలిగే సంభావ్య ప్రయోజనాలను సమతుల్యం చేసే దీర్ఘకాలిక విధానాన్ని అవలంబిస్తాం.
హేతువు
పనితీరును, సామర్థ్యాన్ని కొనసాగిస్తూనే మెమరీ భద్రత, రక్షణ హామీలను అందించడానికి రూపొందించిన దాని ప్రత్యేక ఫీచర్ల కారణంగా మేము Rustను స్వీకరించాం. Rust బలమైన టైప్ సిస్టమ్, బారో చెకర్, మెమరీ భద్రత భావనలు పనితీరు-కీలక, భద్రత-కీలక అప్లికేషన్లను అభివృద్ధి చేయడానికి దీన్ని అత్యంత అనువుగా చేస్తాయి. అంతేకాకుండా, Rustకు డెవలపర్ల గణనీయమైన సముదాయం ఉంది, ఇది మా అభివృద్ధి వర్క్ఫ్లోకు మద్దతిచ్చే విస్తృత శ్రేణి సాధనాలను, లైబ్రరీలను, పర్యావరణ వ్యవస్థను ప్రాప్యత చేయడానికి మాకు వీలు కల్పిస్తుంది. Rustకు నేర్చుకునే వక్రరేఖ ఉన్నప్పటికీ, Rust స్వీకరణ ప్రయోజనాలు ఖర్చులను మించిపోతాయని, నిరంతర వృద్ధికి, ఆవిష్కరణకు అద్భుతమైన అవకాశాన్ని అందిస్తాయని మేము నమ్ముతున్నాం.
పర్యవసానాలు
Rust స్వీకరణకు డెవలపర్లకు శిక్షణ ఇవ్వడానికి, భాషను ప్రస్తుత అభివృద్ధి వర్క్ఫ్లోలో ఇంటిగ్రేట్ చేయడానికి సమయం, వనరులలో గణనీయమైన పెట్టుబడి అవసరం.
Rust స్వీకరణ ప్రస్తుత వ్యవస్థలతో కొంత మేర అనుకూలత సమస్యలను కలిగించవచ్చు, రీఫ్యాక్టరింగ్, మార్పులు అవసరం కావచ్చు.
ఉత్తేజకరమైన ప్రాజెక్టులపై పని చేయాలనుకునే Rust డెవలపర్లను ఆకర్షించడం ద్వారా Rust స్వీకరణ మా ప్రాజెక్ట్కు తోడ్పడగల డెవలపర్ల సంఖ్యను పెంచవచ్చు.
ప్రస్తుత భాషలతో పోలిస్తే ఈ స్వీకరణ మెరుగైన పనితీరు, సామర్థ్యం, భద్రతకు దారి తీయవచ్చు.
చివరగా, Rust స్వీకరణ మా అప్లికేషన్లలో భద్రతా బలహీనతలను తగ్గించే సంభావ్య ప్రయోజనాన్ని కలిగి ఉంది.