USylvestre Ledru waqala ukusebenzela ukuqaliswa kabusha kwe-GNU Coreutils eRust ngesikhathi sobhubhane lwe-COVID-19 futhi wethule ngesonto eledlule ngesikhathi sohlelo lwango-2023 lweFOSDEM. Umzamo obizwa ngokuthi ama-uutils manje usuhlanganiswe ukusatshalaliswa kweLinux okuningi futhi usetshenziswa futhi inethiwekhi yokuxhumana nabantu edumile ngephrojekthi ye-Yocto.
Ukuqhathaniswa kwezilimi ze-Rust ne-C++ kunochungechunge olufanayo: okugqamisa ukuphakama kukaRust kuno-C++ mayelana nokuphepha kwenkumbulo. Umhleli we-RisingWave uchaza ukuthi kungani ebhale kabusha i-Cloud DBMS yakhe yomdabu kusukela ekuqaleni ku-Rust ngemva kokushiya iphrojekthi ye-C++.
“I-Rust iqinisekisa ukuphepha kwenkumbulo nentambo ngesikhathi sokuhlanganisa ngokwethula imithetho yobunikazi. Idlula i-RAII, indlela yokuphatha inkumbulo evame ukusetshenziswa ku-C++. Inezinzuzo ezimbili. Esokuqala sisobala: uma i-Rust compiler iqinisekisa uhlelo lwethu, ngeke sibe namaphutha engxenye noma izimo zomjaho ngesikhathi sokugijima, okungadinga amashumi amahora okulungisa iphutha, ikakhulukazi ku-codebase ehambisana kakhulu futhi ehambisanayo kakhulu. Okwesibili kucashe kakhulu: Umdidiyeli we-Rust umane ukhawulela izinhlobo zokwehluleka, okunciphisa amazwibela ekhodi afakwe esidlekeni angabangela ukuziphatha okuyiphutha okunjalo. Ukuphindaphinda kwephutha kuthuthukiswa kakhulu ngokusebenzisa ukuqaliswa kokunquma. »
I-GNU Coreutils iyiphakheji kusukela kuphrojekthi ye-GNU equkethe amathuluzi amaningi ayisisekelo adingekayo kumasistimu wokusebenza afana ne-Unix: cp (kopisha ifayela noma umkhombandlela), mkdir (dala uhla lwemibhalo), njll. Unjiniyela unikeza ukuphinda kusetshenziswe ngolimi lwe-Rust.
Enye yezinjongo: ukwenza iphakheji isebenze kwamanye amasistimu wokusebenza: Windows, macOS, Android, FreeBSD, njll. Lesi sinyathelo siza ukuze kuvuselelwe inkulumo-mpikiswano embuzweni wokuthi uqhubeke nokuqala amaphrojekthi amasha ku-C no-C++ noma uvele ukhethe ulimi lwe-Rust.
"Ulimi lwe-Rust lunikeza iziqinisekiso zokuphepha ngokuzenzakalelayo uma kuziwa ekuphathweni kwememori. Lokhu akunjalo ku-C no-C++, ukusetshenziswa kwayo ku-Mozilla kuyimbangela yezinkinga zokuphepha kwenkumbulo”, kugcizelela uSylvestre Ledru.
Kodwa-ke, u-Bjarne Stroustrup akavumelani nokuthi ukuqhathanisa phakathi kwe-Rust ne-C++ kunciphisa umqondo wokuvikela isofthiwe kulowo wokuvikela inkumbulo:
“Ayikho incazelo eyodwa yombono 'wokuphepha' futhi singakwazi ukuzuza izinhlobo ezihlukahlukene zokuphepha ngokusebenzisa inhlanganisela yezitayela zokuhlela, ukusekela imitapo yolwazi, nangokusebenzisa ukuhlaziya okumile. Ngakho-ke u-Bjarne Stroustrup uphakamisa ukuthi lokho okungatholakala ku-C++ mayelana nokuphepha kwesofthiwe kuncike, phakathi kwezinye izinto, kumthuthukisi futhi, ikakhulukazi, olwazini lwamathuluzi olunikezwa ulimi, ukuphatha kwakhe umdidiyeli, njll.
Onjiniyela be-Google, bayazi ukuthi i-C++ ibanika ini njengamathuba, baqale ukwakhiwa kwesiqinisekisi semalimboleko ngalolu limi. Kuyisici se-Rust compiler eqinisekisa ukuphepha kwenkumbulo ngokuphathwa kokwabiwa kwe-memory pointer.
Ithimba le-Google, okushicilelwe ngekota yesithathu yonyaka odlule, wafika esiphethweni sokuthi ukuthi uhlelo olufana ne-C++ aluziboleki ekuzilolongeni okunjalo. Futhi ku ukuthi ukuphepha kwenkumbulo ku-C++ kungafinyelelwa ngezilawuli ngesikhathi sokwenziwa kohlelo. Ngamanye amazwi, ngekhodi enensayo ye-C++ lapho ungathola khona izinga lokuphepha elilingana nele-Rust.
Ukukhishwa komhleli we-RisingWave kuza njengoba uRust egqama kwezinye izilimi esezethulwa iminyaka njengezinye izindlela ku-C no-C++. Eqinisweni, i-Linux kernel iya ngokuya ivuleleka olimini lokuhlela lwezinhlelo ze-Mozilla.