Rust i C ++: Zajedno na putu za bolje programiranje integracije
Rust i C ++: Zajedno na putu za bolje programiranje integracije
Zaklada Rust nedavno je objavila važan dokument na GitHubu koji osvjetljava izazove u interakciji između programskih jezika Rust i C ++. Zaklada ocrtava i kratkoročna i dugoročna rješenja za poboljšanu interoperabilnost između ta dva programijska jezika. To je posebno relevantno jer je Rust, iako se etablirao u programiranju vezanim za sustav, često ispunjava postojeće C ++ aplikacije.
Interoperabilnost između hrđe i C ++ središnja je tema, posebno u razvoju ugrađenih sustava ili drugih okruženja ograničenih na resurse. Aplikacije koje je spomenula Zaklada Rust su primjeri za praksu: C ++ sustavi koji implementiraju nove funkcije s hrđom, sustavima temeljenim na hrđima koji koriste postojeći C ++ kod i sustavi koji koriste nekoliko programskih jezika. C ++ ima mnogo dužu priču, zbog čega mnogi projekti često moraju raditi s postojećim C ++ kodom.
Izazovi integracije
Glavna prepreka u uobičajenoj upotrebi hrđe i C ++ je nedostatak alatnog koda koji omogućava miješanje C ++ i Rust koda u istoj datoteci. Za povezivanje dva programijska jezika trenutno je potreban pristup temeljen na FFI (sučelje strane funkcije). To se obično događa putem aplikacijskog binarnog sučelja (ABI) C, koje je stabilnije i neovisno o platformi od složenijeg C ++-ABIS.
Još jedan veliki problem je što se mnoge Rust -ove sigurnosne funkcije uglavnom gube kada su interakcija s C. Kao rezultat toga, to je ozbiljan izazov za programere koji žele koristiti Rust -ove snažne sigurnosne mjere, istovremeno interakciju s C. Zaklada Rust opisuje C kao "lingua franca" za integraciju FFI, a poteškoće u stvaranju zajedničke komunikacijske osnove, upotreba specifičnih značajki hrđe ozbiljno je ograničena.
Strategije za poboljšanje
Zaklada Rust definirala je tri središnje strategije u svojoj izjavi "C ++/Rust interoperabilnost" kako bi optimizirala interoperabilnost između ovih jezika. Prije svega, zaklada planira poboljšati alate i popraviti temeljne probleme unutar projekta Rust koji otežavaju integraciju.
Pored toga, cilj je pronaći konsenzus o strategiji, identificirati i provesti potrebne promjene za hrđa kako bi se povećala interoperabilnost. Druga važna točka je suradnja sa zajednicom C ++ i C ++ Standardnom odborom za postizanje zajedničkih ciljeva sigurnosti i uspješnosti.
Ovi pristupi dolaze u vrijeme kada je Google u veljači 2024. godine dao velikodušnu podršku zaklade Rust.
Za više informacija mogu se pročitati detalji u izjavi o problemu C ++/hrđe na GitHub -u i u najavama zaklade Rust. Te bi inicijative mogle imati značajan utjecaj na razvoj i integraciju softvera u budućnosti, posebno u područjima gdje se dijele hrđa i C ++.
Kommentare (0)