Peter Ammon, lider zespołu deweloperów interaktywnej powłoki komend Fish, opublikował plan przeniesienia rozwoju projektu na język Rust. Powłokę planuje się nie przepisywać od zera, lecz stopniowo, moduł po module, przenosić z C++ na język Rust. Zdaniem deweloperów Fish, zastosowanie Rust pozwoli rozwiązać problemy z równoległością, zdobyć bardziej nowoczesne i skuteczne narzędzia do wykrywania błędów, zwiększyć bezpieczeństwo pracy z pamięcią oraz pozbyć się błędów, takich jak odwołanie do pamięci po jej zwolnieniu, podczas przetwarzania ciągów, dla których w Fish używany jest typ wchar_t.
Zauważono, że narzędzia dla języka C++ są postrzegane przez deweloperów jako przestarzałe, a obawy dotyczące dalszego użytkowania C++ mogą zwiększyć trudności w znalezieniu nowych uczestników projektu. Język Rust uważany jest za bardziej obiecujący i dynamicznie rozwijający się, z aktywną i rosnącą społecznością, która już jest znana obecnym deweloperom Fish i może rozwiązać istniejące problemy projektu.
W okresie przejściowym koegzystencja kodu w C++ i Rust będzie zapewniona za pomocą powiązań FFI (Foreign Function Interface). Ostatecznie w następnej znaczącej wersji planują całkowicie przenieść projekt na język Rust.
Źródło: opennet.ru
