Rust i C ++: razem w drodze do lepszej integracji programowania
Rust i C ++: razem w drodze do lepszej integracji programowania
Fundacja Rust niedawno opublikowała ważny dokument na temat GitHub, który oświetla wyzwania związane z interakcją między językami programowania Rust a C ++. Fundacja przedstawia zarówno krótkoterminowe, jak i długoterminowe rozwiązania dla lepszej interoperacyjności między tymi dwoma językami programowania. Jest to szczególnie istotne, ponieważ rdza, chociaż stała się one w programowaniu związanym z systemem, często spełnia istniejące aplikacje C ++.
Interoperacyjność między Rust a C ++ jest głównym tematem, szczególnie w rozwoju systemów wbudowanych lub innych środowisk ograniczonych zasobów. Aplikacje wymienione przez Fundację Rust są przykładami do ćwiczeń: systemy C ++, które wdrażają nowe funkcje z rdzawymi, opartymi na rdzy systemami wykorzystującymi istniejący kod C ++, oraz systemy wykorzystujące kilka języków programowania. C ++ ma znacznie dłuższą historię, dlatego wiele projektów często musi pracować z istniejącym kodem C ++.
Wyzwania integracji
Główną przeszkodą w powszechnym użyciu rdzy i C ++ jest brak narzędzi, który umożliwia mieszanie tego samego pliku. Podejście oparte na FFI (zagraniczny interfejs funkcji) jest obecnie konieczne do podłączenia dwóch języków programowania. Zwykle dzieje się to za pośrednictwem interfejsu binarnego aplikacji (ABI) C, który jest bardziej stabilny i bardziej niezależny od platformy niż bardziej złożony C ++-Abis.
Kolejnym dużym problemem jest to, że wiele funkcji bezpieczeństwa Rust jest w dużej mierze traconych podczas interakcji z C., w rezultacie jest to poważne wyzwanie dla programistów, którzy chcą zastosować silne środki bezpieczeństwa Rust podczas interakcji z C jednocześnie. Fundacja Rust opisuje C jako „Lingua franca” do integracji FFI i trudności w tworzeniu wspólnej podstawy komunikacji, zastosowanie określonych cech rdzy jest poważnie ograniczone.
Strategie poprawy
Fundacja Rust zdefiniowała trzy centralne strategie w stwierdzeniu „Problemu interoperacyjnego C ++/Rust” w celu optymalizacji interoperacyjności między tymi językami. Przede wszystkim Fundacja planuje ulepszyć narzędzia i rozwiązać podstawowe problemy w ramach projektu Rust, które utrudniają integrację.
Ponadto celem jest znalezienie konsensusu co do strategii, zidentyfikowanie i wdrożenie niezbędnych zmian w celu zwiększenia interoperacyjności. Kolejnym ważnym punktem jest współpraca ze społecznością C ++ i standardowym komitetem C ++ w celu realizacji wspólnych celów bezpieczeństwa i wydajności.
Podejścia te pojawiają się w czasie, gdy Google przyznał hojne wsparcie Fundacji Rust w wysokości 1 miliona dolarów w lutym 2024 r. Finansowanie ma na celu dalszą awans współpracy między Rust a C ++.
Aby uzyskać więcej informacji, można odczytać szczegóły w oświadczeniu C ++/Rust Problem na GitHub oraz w ogłoszeniach Fundacji Rust. Inicjatywy te mogą potencjalnie mieć znaczący wpływ na rozwój i integrację oprogramowania w przyszłości, szczególnie w obszarach, w których dzielone są Rust i C ++.
Kommentare (0)