Arkitektura-erabakien erregistroa: Rust programazio-lengoaia
Erabaki zenbakia: AR-001
Erabakiaren izenburua: Rust programazio-lengoaia hartzea
Data: 2021eko abenduaren 1a
Egoera: Onartua
Arazoaren adierazpena
Software-aplikazioak garatzen jarraitzen dugun heinean, ikusi dugu gero eta zailagoa dela segurtasun-ahultasun potentzialak arintzea eta exekuzio-akatsak saihestea. C eta C++ bezalako lehendik dauden programazio-lengoaiekin, buffer overflow-ak, memoria-ihesak eta portaera zehaztugabea bezalako arazoak izaten jarraitzen dugu, aplikazioen kraskatzea eragiten dutenak. Memoria-segurtasun bermeak eskaintzen dituen eta errendimendu-kritikoa duten aplikazioak onartzeko adina eraginkorra den programazio-lengoaia bat behar dugu.
Kontuan hartzekoak
Programazio-lengoaia batzuk lehendik dauden arazoak jorratzeko diseinatuta daude. Horien artean, Rust programazio-lengoaiak garatzaile-komunitatearen arreta handia lortu du bere diseinu-ezaugarri bereziengatik. Kontuan hartzekoen artean daude;
Memoria-segurtasuna eta segurtasuna
Errendimendua eta eraginkortasuna
Komunitatearen laguntza eta onarpena
Ikaskuntza-kurba
Tresnak eta ekosistema
Lehendik dauden software-sistemekin bateragarritasuna.
Murriztapenak
Programazio-lengoaia berri bat hartzeak garatzaileak berriz prestatzea eskatzen du, denbora eta baliabideak behar dituena. Lengoaia lehendik dagoen garapen-lan-fluxuan integratzea erronka izan daiteke. Lehendik dauden sistemekin bateragarritasuna ziurtatu behar dugu eta aldaketa hausleak saihestu jarraitutasuna mantentzeko.
Ezarpena
Gure garapen-taldeak prestakuntza jasoko du Rust programazio-lengoaia ikasteko eta ezagutzeko.
Proiektu berri bat sortuko dugu Rust erabiliz proba-oinarrian, bere bateragarritasuna eta gure garapen-helburuetarako egokitasuna ebaluatzeko.
Pixkanaka C eta C++-n idatzitako lehendik dauden sistemak Rust-era migratuko ditugu.
Rust komunitatearekin lankidetzan arituko gara gure garapen-lan-fluxua hobe dezaketen tresna eta liburutegi eskuragarriak arakatzeko.
Rust-en errendimendua monitorizatuko dugu eta aldiro-aldiro lehendik dauden programazio-lengoaien errendimenduarekin alderatuko dugu.
Epe luzeko ikuspegia hartuko dugu, prestakuntzaren, integrazioaren eta Rust erabiltzearen onura potentzialen kostuak orekatzen dituena.
Arrazoibidea
Rust hartu dugu bere ezaugarri bereziengatik, errendimendua eta eraginkortasuna mantenduz memoria-segurtasun eta segurtasun bermeak eskaintzeko diseinatuak. Rust-en tipo-sistema sendoak, borrow checker-ak eta memoria-segurtasun kontzeptuek oso egokia egiten dute errendimendu-kritikoa eta segurtasun-kritikoa duten aplikazioak garatzeko. Gainera, Rust-ek garatzaile-komunitate esanguratsua du, gure garapen-lan-fluxua laguntzen duten tresna, liburutegi eta ekosistema sorta zabalera sartzeko aukera ematen diguna. Rust-ek ikaskuntza-kurba du arren, uste dugu Rust hartzearen onurak kostuak baino handiagoak direla eta etengabeko hazkunde eta berrikuntzarako aukera bikaina ematen duela.
Ondorioak
Rust hartzeak denboran eta baliabideetan inbertsio esanguratsua eskatuko du garatzaileak prestatzeko eta lengoaia lehendik dagoen garapen-lan-fluxuan integratzeko.
Rust hartzeak bateragarritasun-arazoak sor ditzake lehendik dauden sistemekin, berrantolaketa eta aldaketak eskatuz.
Rust hartzeak gure proiektuan ekarpena egin dezaketen garatzaileen kopurua handitu dezake, proiektu zirraragarrietan lan egin nahi duten Rust garatzaileak erakarriz.
Hartzeak errendimendu, eraginkortasun eta segurtasun hobeak ekar ditzake lehendik dauden lengoaiekin alderatuta.
Azkenik, Rust hartzeak gure aplikazioetako segurtasun-ahultasunak murrizteko onura potentziala dakar.