O time de desenvolvedores do Rust anunciou o roadmap da linguagem para 2018, que traz produtividade para o público dos quatro principais domínios: Web services, WebAssembly, aplicações CLI e dispositivos embarcados.
O roadmap de 2018 para o Rust é o resultado de um processo iniciado em uma pesquisa de 2017 e um convite aberto para contribuições na linguagem que acabou coletando aproximadamente 100 blog posts da comunidade.
De acordo com o roadmap, o Rust 2018 será liberado entre agosto e setembro e terá um objetivo principal: produtividade. Isto significa dar foco na performance do compilador, melhorar várias funcionalidade da linguagem, e depois ferramentas avançadas, bibliotecas e documentação.
Outro objetivo para este ano: o Rust estabilizará várias funcionalidades que atualmente estão disponíveis em versões beta com vários níveis de maturidade. Estas incluem impl Trait, macros 2.0, SIMD, generators, lifetimes não léxicos, alguma forma de suporte para async/await, e o módulo revamp. Provavelmente o Rust 2018 não irá incluir (pelo menos inicialmente) outras funcionalidades aguardadas como tipos de associação genérica, especialização impl e constantes genéricas.
Além disso, para completar e aperfeiçoar a funcionalidades da linguagem mencionadas acima, o desenvolvimento do compilador terá foco em compilação incremental e em aumentar a velocidade das compilações feitas a partir do zero. Devido a isso, a compilação incremental terá prioridade em estágios iniciais, enquanto a compilação do zero irá se beneficiar do paralelismo e da mudança para o MIR-only rlibs. Além disso , os diagnósticos do compilador serão melhorados.
Uma parte importante da produtividade da linguagem Rust está relacionada ao seu ecossistema de bibliotecas, especificamente na qualidade e busca de crates (bibliotecas). O time de desenvolvedores do Rust irá ajudar a comunidade a criar crates melhores, liberando a versão 1.0 da API Guideline e evoluir o Cookbook do Rust em uma ferramenta de pesquisa de bibliotecas.
Finalmente, todo o trabalho feito na linguagem, no compilador, nas ferramentas e na documentação irão ser guiados por um número de casos de uso, os quais pertencem aos quatro principais domínios:
- Web services, que dificilmente corresponde ao domínio onde o Rust teve mais adoção.
- WebAssembly, uma área onde um grande crescimento é previsto. O foco do Rust é ser a linguagem de escolha para o WebAssembly, fornecendo ferramentas úteis e suporte a bibliotecas wasm32.
- Interfaces CLI, onde o Rust viu grande adoção no último ano graças à portabilidade, confiabilidade e suporte para binários estáticos.
- Dispositivos embarcados, onde o Rust parece ter potencial graças às suas promessas em termos de segurança e performance, mas ainda precisa de um esforço significativo em termos de funcionalidades obrigatórios.
Há muitos mais detalhes relacionados a evolução do Rust em 2018, desta forma não perca o roadmap oficial da linguagem.