Rust é uma linguagem de programação de sistemas de código aberto que se concentra em Performance, Concorrência e Segurança de Memória.
Os desenvolvedores estão usando o Rust para criar uma ampla gama de novos aplicativos de software, como engines de jogos, sistemas operacionais, sistemas de arquivos, componentes atuais do Firefox e futuros, …
Em pesquisa de opinião da Stack Overflow, ela está entre as mais amadas por 4 anos seguidos e os desenvolvedores desejavam desenvolver com a linguagem Rust. Top!
Entre algumas características positivas do Rust temos:
* Código Nativo, você pode distribuir direto o seu binário. Aplicações como o npm foram desenvolvidas para rust.
* A linguagem e o compilador tentam Prever Problemas que acontecem em
tempo de execução. Como eles tentam evitar um conjunto de erros e problemas comuns, a
linguagem traz um conjunto de práticas que melhoram o seu estilo de
programação.
* Rust tem o conceito de Ownership, isto é, um valor pode ser propriedade de apenas uma variável, quandoessa variável sair de contexto, o valor sai da memória, então NÃO tem Garbage Collection. Durante um Garbage Collection, a rotina verifica se tem alguém usando esse valor, o que tem um custo.
* Exceptions não coisas legais, em Rust você deve tratar as exceções.
* Ferramentas Modernas. O Rust, através do Cargo, já tem práticas modernas como Gerenciamento de Bibliotecas, Testes, Documentação, ….
* Rust está entre as melhores linguagem de programação para WebAssembly. O WebAssembly (abreviado Wasm) é um formato de instrução binário para execução nos Navegadores e Servidor de Aplicações.
Mas nem tudo são flores:
Algumas características negativas do Rust temos:
* Rust não é fácil de aprender.
* A linguagem ainda é nova, algumas features estão disponíveis apenas na versão nightly.
* Faltam items corporativos, isto é, senti falta de drivers para Banco de Dados.
Mas o que me chamou minha atenção sobre Rust é a possibilidade de economia que a sua performance e uso reduzido de memória pode trazer. Os provedores de nuvem definem suas unidades de processamento por flavors (sabores) de equipamentos levando em conta Cpu vs Memória. Uma aplicação que performa melhor terá influência direta no flavor utilizado e no valor da fatura no fim do mês. No artigo Parsing logs 230x faster with Rust – André.Arko.net, o autor descreve com como ele passou de US$ 1000,00 por mês para US$ 0 por mês, reescrevendo um script com Rust.
Se estiver disposto a arriscar, aprenda Rust. Comece desenvolvendo microsserviços, funções Lambda (Serverless), Scripts ou otimizando aplicações, através de uso de bibliotecas (.dll/.so), criadas em rust.
Não estou falando que Rust é a linguagem certa, mas acho que vale o investimento, você não estará sozinho.
Quer saber mais:
- Rust
- Rust BR
- What is Rust and why is it so popular? – Stack Overflow
- Microsoft: Here’s why we love programming language Rust and kicked off Project Verona