Architektur-Decisiounsopzeechnung: Programméiersprooch Rust
Decisiounsnummer: AR-001
Decisiounstitel: Unhuele vun der Programméiersprooch Rust
Datum: 1. Dezember 2021
Zoustand: Akzeptéiert
Problemstellung
Wéi mir weider Softwareapplikatiounen entwéckelen, hu mir beobachtet, datt et ëmmer méi erausfuerdernd gëtt, potenziell Sécherheetsluechten ze mildere a Laufzäitfeeler ze vermeiden. Mat de bestoende Programméiersproochen, wéi C an C++, hu mir weider Problemer wéi Buffer Overflows, Memory Leaks an undefinéiert Verhalen, déi zu Ofstierz vun Applikatioune féieren. Mir brauche eng Programméiersprooch, déi Memory-Safety-Garantië bitt an effizient genuch ass, fir performancekritesch Applikatiounen z'ënnerstëtzen.
Iwwerleeungen
Verschidde Programméiersproochen sinn entworf, fir déi bestoend Problemer unzegoen. Dorënner huet d'Programméiersprooch Rust wéinst hire besonneschen Designfeatures bedeitend Opmierksamkeet vun der Entwécklercommunautéit kritt. Zu den Iwwerleeunge gehéieren;
Memory-Safety a Sécherheet
Performance an Effizienz
Ënnerstëtzung an Adoptioun vun der Communautéit
Léierkurve
Tools an Ökosystem
Kompatibilitéit mat bestoende Softwaresystemer.
Restriktiounen
D'Unhuele vun enger neier Programméiersprooch erfuerdert d'Ëmschoulung vun Entwéckler, wat Zäit a Ressource kascht. D'Integratioun vun der Sprooch an de bestoenden Entwécklungsworkflow kann eng Erausfuerderung sinn. Mir mussen d'Kompatibilitéit mat de bestoende Systemer garantéieren a brecherend Ännerunge vermeiden, fir d'Kontinuitéit z'erhalen.
Ëmsetzung
Eist Entwécklungsteam duerchleeft eng Formatioun, fir d'Programméiersprooch Rust ze léieren a sech domat vertraut ze maachen.
Mir erstellen e neie Projet mat Rust op Testbasis, fir seng Kompatibilitéit a Gëeegentheet fir eis Entwécklungszwecker ze evaluéieren.
Mir migréieren no an no déi bestoend Systemer, déi a C an C++ geschriwwe sinn, op Rust.
Mir kollaboréieren mat der Rust-Communautéit, fir déi verfügbar Tools a Bibliothéiken ze entdecken, déi eise Entwécklungsworkflow verbesseren kënnen.
Mir iwwerwaachen d'Performance vu Rust a vergläichen se regelméisseg mat der Performance vun de bestoende Programméiersproochen.
Mir huelen en laangfristegen Usaz un, dee d'Käschte fir Formatioun, Integratioun an déi potenziell Virdeeler vun der Notzung vu Rust ausbalancéiert.
Begrënnung
Mir hunn Rust ugeholl wéinst senge besonnesche Funktiounen, déi entworf sinn, Memory-Safety- a Sécherheetsgarantië ze bidden, an dobäi Performance an Effizienz ze halen. Dem Rust säin robust Typsystem, de Borrow Checker an d'Memory-Safety-Konzepter maachen et héich gëeegent fir d'Entwécklung vu performance- a sécherheetskritesche Applikatiounen. Ausserdeem huet Rust eng bedeitend Communautéit vun Entwéckler, déi et eis erméiglecht, op eng breet Palette vun Tools, Bibliothéiken an Ökosystem zouzegräifen, déi eisen Entwécklungsworkflow ënnerstëtzen. Och wann Rust mat enger Léierkurve kënnt, gleewen mir, datt d'Virdeeler vum Unhuele vu Rust d'Käschte iwwerwiegen an eng exzellent Geleeënheet fir weidert Wuesstem an Innovatioun bidden.
Konsequenzen
D'Unhuele vu Rust erfuerdert eng bedeitend Investitioun u Zäit a Ressourcen, fir Entwéckler ze formatéieren an d'Sprooch an den bestoenden Entwécklungsworkflow ze integréieren.
D'Unhuele vu Rust kann zu engem gewësse Grad u Kompatibilitéitsproblemer mat bestoende Systemer féieren, wat Refactoring a Modifikatiounen erfuerdert.
D'Unhuele vu Rust kann d'Zuel vun den Entwéckler erhéijen, déi zu eisem Projet bäidroe kënnen, andeems Rust-Entwéckler ugezu ginn, déi un opreegende Projete schaffe wëllen.
D'Unhuele kéint zu verbesserter Performance, Effizienz a Sécherheet am Verglach zu de bestoende Sproochen féieren.
Schliisslech bréngt d'Unhuele vu Rust de potenzielle Virdeel mat sech, Sécherheetsluechten an eisen Applikatioune ze reduzéieren.