Rust og C ++: Sammen på vei til bedre programmering
Rust og C ++: Sammen på vei til bedre programmering
The Rust Foundation publiserte nylig et viktig dokument om GitHub som lyser opp utfordringene i samspillet mellom programmeringsspråk Rust og C ++. Stiftelsen skisserer både kortsiktige og langsiktige løsninger for forbedret interoperabilitet mellom disse to programmeringsspråk. Dette er spesielt relevant fordi Rust, selv om det har etablert seg i systemrelatert programmering, ofte oppfyller eksisterende C ++ applikasjoner.
Interoperabiliteten mellom rust og C ++ er et sentralt tema, spesielt i utviklingen av innebygde systemer eller andre ressursbegrensede miljøer. Applikasjonene som er nevnt av Rust Foundation er eksempler for praksis: C ++ systemer som implementerer nye funksjoner med rust, rustbaserte systemer som bruker eksisterende C ++ -kode, og systemer som bruker flere programmeringsspråk. C ++ har en mye lengre historie, og det er grunnen til at mange prosjekter ofte må jobbe med eksisterende C ++ -kode.
Utfordringer med integrasjon
En hovedhindring i vanlig bruk av rust og C ++ er mangelen på en verktøykjede som lar C ++ og rustkode blandes inn den samme filen. En FFI-basert (utenlandsk funksjonsgrensesnitt) tilnærming er for øyeblikket nødvendig for å koble de to programmeringsspråkene. Dette skjer vanligvis via applikasjonens binære grensesnitt (ABI) av C, som er mer stabilt og mer plattformuavhengig enn den mer komplekse C ++-ABIS.
Et annet stort problem er at mange av Rusts sikkerhetsfunksjoner i stor grad går tapt når samhandling med C. Som et resultat, er dette en alvorlig utfordring for utviklere som ønsker å bruke Rusts sterke sikkerhetstiltak mens de samhandler med C samtidig. Rust Foundation beskriver C som "lingua franca" for FFI -integrasjon, og vanskene med å skape et felles kommunikasjonsgrunnlag, er bruken av spesifikke rustfunksjoner sterkt begrenset.
Strategier for forbedring
Rust Foundation har definert tre sentrale strategier i sin "C ++/Rust interoperabilitetsproblemerklæring" for å optimalisere interoperabilitet mellom disse språkene. For det første planlegger stiftelsen å forbedre verktøyene og å fikse grunnleggende problemer i Rust -prosjektet som gjør integrasjonen vanskeligere.
I tillegg er målet å finne en enighet om en strategi, å identifisere og implementere de nødvendige endringene for rust for å øke interoperabiliteten. Et annet viktig poeng er samarbeidet med C ++ -samfunnet og C ++ standardutvalget for å forfølge vanlige sikkerhets- og resultatmål.
Disse tilnærmingene kommer på et tidspunkt da Google ga Rust Foundation sjenerøs støtte på 1 million dollar i februar 2024. Denne finansieringen er ment å fremme samarbeidet mellom Rust og C ++.
For mer informasjon kan detaljene i C ++/Rust -problemstatningen på Github og i kunngjøringene til Rust Foundation leses. Disse initiativene kan potensielt ha en betydelig innvirkning på utviklingen og integrasjonen av programvare i fremtiden, spesielt i områder der rust og C ++ deles.
Kommentare (0)