Peter Ammon, líder da equipe de desenvolvedores do shell interativo Fish, publicou um plano para a transição do desenvolvimento do projeto para a linguagem Rust. Em vez de reescrever o shell do zero, eles planejam gradualmente, módulo por módulo, converter do C++ para Rust. Na visão dos desenvolvedores do Fish, o uso do Rust permitirá resolver problemas de multithreading, obter um conjunto de ferramentas mais moderno e eficaz na detecção de erros, aumentar a segurança do gerenciamento de memória e eliminar falhas, como o acesso à memória após sua liberação, ao lidar com strings que no Fish utilizam o tipo wchar_t.
É observado que as ferramentas para a linguagem C++ são consideradas obsoletas pelos desenvolvedores, e há preocupações de que, ao continuar usando C++, as dificuldades na busca de novos participantes para o projeto aumentarão. A linguagem Rust é vista como uma linguagem mais promissora e em crescimento, com uma comunidade ativa e em expansão, que já é familiar para os desenvolvedores atuais do Fish e capaz de resolver os problemas existentes do projeto.
Durante o período de transição, a coexistência do código em C++ e Rust será garantida por meio de vinculações FFI (Foreign Function Interface). No final, na próxima versão significativa, planejam transferir completamente o projeto para a linguagem Rust.
Fonte: opennet.ru
