Alan Somers iniciou uma discussão sobre os custos e benefícios de incluir código Rust no sistema base do FreeBSD. Ele mencionou que a inclusão do Rust dobraria o tempo de compilação, mas sugeriu adicionar uma etapa adicional após o buildworld
para coisas que requerem uma cadeia de ferramentas externa, o que aliviaria a dor do tempo de compilação.
Ele também listou alguns projetos atuais e potenciais em Rust que poderiam se beneficiar de estar na árvore. Aqui estão alguns deles:
- ctl-exporter1
- Testes fusefs2
- devd3
- zfsd4
- nscd5
- A parte do usuário das pilhas 802.11ac e Lightning
- freebsd-kpi-r14-06
Além disso, ele mencionou alguns projetos que poderiam viver em portas, mas seriam mais agradáveis se estivessem na base, como gstat-rs7, geom-exporter, nfs-exporter8, virtiofsd-rs9, jail-exporter10 e outros.
Sobre o Rust, entenda os pontos positivos e negativos da linguagem
Rust é uma linguagem de programação moderna que visa fornecer desempenho semelhante ao C++, mas com segurança de memória garantida. Foi projetada para ser “segura, concorrente e prática”, com ênfase na segurança e na velocidade. Entenda também o que é um BSD lendo nosso post onde explicamos as principais diferenças entre um BSD e FreeBSD.
Vantagens do Rust:
- Segurança de Memória: Rust fornece segurança de memória sem a necessidade de um coletor de lixo. Isso é alcançado por meio de uma série de verificações em tempo de compilação que impõem um sistema de propriedade e empréstimo.
- Desempenho: Rust oferece o desempenho de linguagens de baixo nível como C++, tornando-o ideal para programação de sistemas.
- Concorrência: Rust tem suporte de primeira classe para programação concorrente e paralela.
- Interoperabilidade C: Rust pode interoperar com C, permitindo que os desenvolvedores reescrevam partes críticas do código em Rust.
Desvantagens do Rust:
- Curva de Aprendizado: Rust tem uma curva de aprendizado íngreme devido à sua sintaxe única e ao seu sistema de propriedade.
- Tempo de Compilação: Rust tem tempos de compilação mais longos, o que pode retardar o processo de desenvolvimento.
- Menos Bibliotecas Maduras: Embora o ecossistema de Rust esteja crescendo, ele ainda não possui a amplitude de bibliotecas maduras disponíveis para linguagens como JavaScript ou Python.
Em resumo, Rust é uma linguagem poderosa que oferece segurança de memória e desempenho, mas requer um investimento significativo para superar a curva de aprendizado. É uma excelente escolha para projetos de sistemas, especialmente aqueles onde a concorrência e a segurança são primordiais.