O Fish shell é um dos shells Linux menos conhecidos que oferece um shell de linha de comando inteligente e fácil de usar para sistemas operacionais semelhantes ao UNIX.
É popular entre os usuários do Linux por causa de seus recursos e aparência da era dos anos 90 .
Curiosamente, há algumas semanas, o atual mantenedor do projeto Fish shell 'ridiculousfish' iniciou um pull request que mencionou:
acho que devemos fazer a transição para o Rust e tentar fazê-lo até o próximo grande lançamento.
Ele mencionou que esta transição é um port, em vez de uma reescrita completa, e contará com módulos C++ traduzidos em forma de Rust.
O Fish Shell foi chamado de "ridiculousfish", ou "peixe ridículo", depois que o autor original "Axel Liljencrantz" o abandonou e lhe deu o sinal verde para ter seu fork como o projeto sucessor oficial.
Para provar que isso pode funcionar, ele portou alguns módulos para o Rust e os disponibilizou em uma caixa que vive sob e se vincula ao código C++.
Eles também solicitaram scripts de conclusão de pessoas familiarizadas com essas ferramentas e para testá-los com seu git repo.
Por que a transição?
A base C++ sobre a qual o Fish Shell é construído tem causado muitos problemas. Quaisquer alterações necessárias levam desnecessariamente tempo para serem implementadas.
Embora eles tenham inicialmente mudado para o C++11 em 2016 e ainda estejam nele, agora é um fardo atualizar qualquer coisa codificada com uma linguagem tão antiga; ele até supera a possibilidade de atualizar para C++14/17.
Além disso, com um comentário recente por um mantenedor, abandonar o C++ permitirá que eles:
- Disponibilizem o Fish em servidores que executam distribuições LTS antigas
- Facilitem a compilação e a execução
Depois, há as preocupações gerais com o C++; como problemas com arquivos de cabeçalho, segurança de memória, comportamento indefinido, erros do compilador e muito mais.
Os desenvolvedores mencionam:
A essência disso é que o C++ nos causou bastante tristeza, e terminamos com isso, e assim, decidimos deixá-lo e tudo relacionado a ele para trás.
É aqui que entra a linguagem popular segura para memória Rust.
Isso pode ajudá-los com os problemas de encadeamento de longa data com Fish Shell, e eles já têm pessoas na equipe que sabem como trabalhar com isso.
Agora, com o anúncio, eles também estão esperando melhores contribuições da comunidade com isso, já que o Rust tem sido muito popular nos últimos tempos com "um monte de buzz e mindshare que outras línguas não têm", disseram eles.
Um usuário, 'mqudsi' tinha algumas preocupações legítimas que eles compartilharam em um comentário sobre a solicitação pull original.
Eles temem que apressar qualquer parte deste empreendimento possa ser prejudicial para a sobrevivência deste projeto.
Com preocupações sobre a compatibilidade do Fish em hardware mais antigo limitando todo o seu potencial, Rust sendo de alto nível demais para o Fish, e assim por diante.
Só o tempo dirá como os desenvolvedores lidam com essas preocupações.
Quando esperar?: A próxima grande liberação do Fish será apresentando o port em Rust com muitas melhorias aguardadas. Não estamos cientes do cronograma para seu lançamento planejado.
O que você acha disso? A mudança para Rust será capaz de melhorar o Fish Shell?
Via itsfoss.com. Você pode conferir o post original em inglês:
Fish Shell to Ditch C++ for a Rust Port; Plans to be Available for ServersÚltima atualização deste artigo: 1 de march de 2023