Google plangt d’Benotzung vun Drëtt-Partei Rust Bibliothéiken a sengem Open Source Browser Projet Chromium z’ënnerstëtzen, e wesentlechen Ënnerstëtzung vun der Programméierungssprooch a seng Sécherheetseigenschaften.
An engem Blog Post um Donneschdeg publizéiert, Dana Jansens, aus dem Chrome Sécherheetsteam, sot datt Google Software Ingenieuren ugefaang hunn un enger Produktioun Rust Toolchain fir säi Bausystem ze schaffen. D’Hoffnung ass de Rustcode an der Chrome Binär virum Enn vum Joer opzehuelen.
“Eist Zil fir Rust an Chromium ze bréngen ass e méi einfachen (keng IPC) a méi sécher (manner komplex C++ insgesamt, keng Erënnerungssécherheetsbugs an enger Sandkëscht och) Wee fir d’Regel vun zwee ze erfëllen, fir d’Entwécklung ze beschleunegen (manner) Code fir ze schreiwen, manner Designdokumenter, manner Sécherheetsiwwerpréiwung) a verbessert d’Sécherheet (Erhéijung vun der Unzuel vun de Codelinnen ouni Erënnerungssécherheetsbugs, d’Bugdichte vum Code erofzesetzen) vu Chrome “, erkläert de Jansens.
Rust, wann net geschriwwe fir onsécher ze sinn, kann Erënnerungssécherheetsfehler vermeiden, déi 70 Prozent vun de seriéise Sécherheetsbugs representéieren, déi am Chromium identifizéiert ginn. D’Sprooch garantéiert keng Code Onverwachbarkeet awer et kann vill manner potenziell Mängel bedeiten.
Fir wat et wäert ass, huet Google och geschafft fir d’Erënnerungssécherheet am C++ ze verbesseren, eng Sprooch déi de Schëpfer Bjarne Stroustrup insistéiert kann Erënnerung sécher sinn wann se dem ISO C++ Standard entsprécht an un spezifesch Richtlinnen agehale gëtt duerch statesch Analyse.
De Jansens huet dem Mozilla Merci gesot, deen d’Entwécklung vu Rust ënnerstëtzt huet bis se reift an genuch extern Ënnerstëtzung ugezunn huet fir seng eege Fondatioun ze verdéngen. Mozilla gouf scho laang finanziell vu Google ënnerstëtzt, wat bezuelt fir de Standard Sichmotor am Mozilla Firefox Browser ze sinn. Awer d’ëffentlech Beneficefirma huet aner Finanzéierungsquellen gesicht wéi Chrome d’Benotzung vu Firefox erodéiert huet.
Rust an C++, d’Basis vu Chromium, kënnen duerch Tools wéi cxx, autocxx bindgen, cbindgen, diplomat a crubit interagéieren, erkläert de Jansens. Dës Tools bidden e séchere Wee fir C ++ Code vum Rustcode ze ruffen a vice versa. Awer et gi Grenzen fir Interoperabilitéit tëscht den zwou Sproochen wéinst Differenzen an hire jeweilegen Designen.
“Zum Beispill Rust garantéiert temporär Erënnerung Sécherheet mat statesch Analyse déi op zwee Input hänkt: Liewensdauer (ofgeleet oder explizit geschriwwen) an exklusiv mutability,” Jansens erkläert. “Déi lescht ass inkompatibel mat wéi d’Majoritéit vum Chromium’s C ++ geschriwwe gëtt.”
Jansens observéiert datt well Rust an C ++ duerch verschidde Reegelen spillen, Interoperabilitéit kann einfach schief goen. Dofir mécht Google eng virsiichteg Approche.
Am Ufank wäert Google unidirektional C ++ zu Rust Interoperabilitéit ënnerstëtzen fir d’Form vun der Ofhängegkeetsgrafik ze kontrolléieren. “Rust kann net op C ++ ofhängeg sinn, sou datt et net iwwer C ++ Typen a Funktiounen wësse kann, ausser duerch Ofhängegkeetsinjektioun,” erkläert de Jansens. “Op dës Manéier kann Rust net an arbiträr C++ Code landen, nëmmen a Funktiounen, déi duerch d’API vun C ++ passéiert sinn.”
A fir de Moment wäert d’Chromium Belaaschtung fir Rust nëmmen duerch Drëttbibliothéike sinn.
Trotzdem kann dem Google säi verstäerkten Engagement fir Rust erwaart ginn datt de Rust Package Ökosystem wesentlech beräichert, mat der Firma déi Tools wéi Crbit entwéckelt an ënnerhält fir bidirektional Interoperabilitéit tëscht C++ a Rust ze verbesseren.
Google huet Rust schonn an den Android Ökosystem bruecht. Microsoft Azure CTO Mark Russinovich huet d’Benotzung vu Rust anstatt C ++ an neie Projeten opgeruff. De Linux Kernel huet Rust Support bäigefüügt. An och Apple, déi sech net fir Technologien ze engagéieren déi se net kontrolléiert, huet Rust benotzt. ®